Saltar al contenido

"Jugar" al poker


Antoni

Recommended Posts

Hola:

Entrecomillo "Jugar" para que no os hagais ilusiones, de jugar, nada de nada.

Hay dos macros:

PokerAbierto y PokerCerrado

Ambas macros, lo único que hacen es barajar, repartir y mostrar las cartas, eso si,

las que tienen que estar tapadas, están tapadas.

Para descubrir las cartas tapadas, pulsar y arrastrar la tapa.

Los naipes se muestran como imagen incrustada en la hoja por lo que se pueden arrastrar y soltar donde nos convenga.

Cuando disponga de tiempo, intentaré poco a poco ir completando los juegos, aunque es mas difícil de lo que parece.

Saludos a todos menos a uno.

POKER.zip

Enlace a comentario
Compartir con otras webs

Hola Antoni

Muy currado, a eso me refería cuando le propuse a Jorge el uso de caracteres de texto para montar la baraja (aunque yo no me la curre ni por asomo).

Un saludo

P.S. Voy a ver si usando funciones puedo..... (es broma, sólo por incordiar un poquito al "Señor de las Macros")

Enlace a comentario
Compartir con otras webs

Hola Antoni,

Sobre el tema de arrastrar imagenes y soltarlas en zonas, ayudé hace un tiempo en esta pagina a alguien que queria hacer votaciones usando un sistema que permite arrastrar imagenes a zonas especificas para que contaran los votos de un recuento electoral.

Hechale un vistazo al link que te puede ser util para soltar las cartas en montones o en zonas especificas.

Votos Elecciones, Arrastrar y Soltar (En hoja2)

Aqui el post original

Solo tienes que arrastrar los circulitos verdes del candidato al que quieres aumentar votos, automaticamente cambia al presidente seleccionado y le incrementa un voto en la zona de arrastre.

A ver como te va quedando el juego, por ahora tiene buena pinta.

Enlace a comentario
Compartir con otras webs

Hola Macro, no soy jugador de cartas pero me gusta jugar con los caracteres de texto y la idea de ioyama de mostrarlas con Picas ♠ Corazones ♥ Diamantes ♦ y Tréboles ♣

No me gustó la representación que hiciste del 10 por lo que me he puesto a cambiar el aspecto de todas las cartas para intentar darles la apariencia de la baraja inglesa, añadiéndoles una fila más en el fichero adjunto.

También he añadido una sencilla macro OcultarTapa para hacer lo que se le dice cuando se haga click en las tapas (¡que no estamos hablando de comer pero a estas horas ya pica el gusanillo!)

Nota: si no se quieren ocultar las tapas, click con el botón derecho del ratón sobre ellas y se pueden arrastrar y mover.

Las J, Q, K las dejo para otro que no veo la forma de imaginarme la imagen de la sota, caballo y rey con caracteres de texto.

verzulsan, a ver si echamos una partida cuando acabe el juego nuestro querido Macro...

POKER_PW1.zip

Enlace a comentario
Compartir con otras webs

Hola Santi: Pedro y demas "voyeurs":

Gracias por vuestros comentarios.

Lo del 10, me rompía toda la estructura que ya tenía montada, y decidí darle esa solución.

Ya se sabe que contra gustos no hay disputas.

Besitos a todos, hoy incluido el "uno".

Enlace a comentario
Compartir con otras webs

Invitado jorgetchake

Saludos….

Y sigo con mi juego que vuelvo a adjuntar para formular mi consulta.

Adapté mi juego para manejar las imágenes proporcionadas por MA (Macro Antonio).

El original debí mantenerlo porque en la época que lo hice no sabía usar los nombres de rangos,… por eso todo está direccionado por rangos tipo A1,… me resulta muy complicado modificar el código para reformatear todas las columnas por las que requieren las imágenes. Por esa razón, en la hoja Tapete,.. se ven las imágenes de MA pero sólo para asegurarme que mi código seleccione correctamente las imágenes, en la hoja del juego se ven digamos en modo abreviado mientras que en Tapete la imagen completa.

A raíz de lo que hice,… se me ocurrió hacer un User Form con las imágenes como se ven en la hoja Tapete,… pero no sé como hacerlo ¡!!!

Por favor.

¿Cómo se mueve una imagen de la hoja a un User Form sea a un control Image o una Label ¿????? O a donde se pueda.

Pegones,... no entiendo lo de Ocultar Tapas,... y me gustó tu diseño, es bueno.

Muchas gracias.

Cordiales saludos

No puedo subir la nueva versión que incluye las hojas Baraja y Tapete.,… de todas formas por favor pienso que para responder la consulta no será necesario el archivo.

Enlace a comentario
Compartir con otras webs

Pegones,... no entiendo lo de Ocultar Tapas,... y me gustó tu diseño, es bueno.

Hola jorgetchake, las tapas son las cartas vueltas que ocultan a las demás y tienen asignada la macro:

Sub OcultarTapa()
ActiveSheet.Shapes.Range(Array(ActiveSheet.Shapes(Application.Caller).Name)).Visible = False
End Sub[/CODE]

aunque debería haberla simplificado así:

[CODE]Sub OcultarTapa()
ActiveSheet.Shapes.Range(Array(Application.Caller)).Visible = False
End Sub[/CODE]

Siendo Application.Caller el nombre de la imagen a invisibilizar para mostrar la carta que hay debajo.

Enlace a comentario
Compartir con otras webs

Invitado jorgetchake

Presente....

No pude anexar el archivo porque había crecido (aparentemente) demasiado por no haber borrado la sucesión de imágenes durante la prueba,... recordé que MA tenía una línea de código

Hoja.DrawingObjects.Delete[/CODE]

la puse y se acomodó el carro con todos sus zapallos.

Disculpen y cordiales saludos.

juego-poker-let-and-raid.diseño4.zip

Enlace a comentario
Compartir con otras webs

Hola a todos:

Jorge, no acabo de tener claro si has entendido el tema de las "imágenes".

Entrecomillo "imágenes" porqué realmente, no existen.

Los naipes se encuentran como datos en las celdas con la fuente Symbol, en la hoja Baraja que está oculta.

A la hora de mostrar un naipe se construye la imagen a partir del rango que ocupa dicho naipe con el método CopyPicture que realiza tal cometido. Cuando ya no se necesita, la imagen del naipe es eliminada.

Dicho esto, queda claro que las imágenes no existen como archivos independientes.

Que yo sepa, un control Image en un formulario se puede cargar:

1) En tiempo de diseño desde un Archivo o con Pegar en la propiedad Picture

2) Con la instrucción LoadPicture desde un Archivo

3) Desde otro control Image

4) Desde un control ImageList cargado previamente con las imágenes.

No he sido capaz de encontrar una forma de cargar la imagen directamente de la hoja.

Hay una forma de convertir una imagen de una hoja en un gráfico, y posteriormente exportar el gráfico a un archivo .gif.

Una vez disponemos del archivo .gif ya podemos cargarlo en nuestro control Image.

Pero no es nada práctico ya que constantemente estás generando ficheros que tienes que ir eliminando, es lento, y en el proceso se pierde calidad de imagen.

Yo te recomiendo que hagas un esfuerzo por intentar usar "mi sistema", ya que por el momento y hasta que alguien me demuestre lo contrario, es el mas idóneo.

Saludos y buen "finde".

Enlace a comentario
Compartir con otras webs

Invitado jorgetchake

Macro Antonio

Hola MA,… gracias por la respuesta,… entendí,…. De todos modos por favor,… cuando puedas usa mi juego y verás que la hoja Baraja,…. es la tuya y que usé tu hoja Tapete para mis visualizaciones.

Pegones

Hola Pegones... tal vez no esté haciendo algo que sea requerido antes de ejecutar la macro Ocultar Tapa.

ActiveSheet.Shapes.Range(Array(ActiveSheet.Shapes(Application.Caller).Name)).Visible = False[/CODE]

[CODE]ActiveSheet.Shapes.Range(Array(Application.Caller)).Visible = False[/CODE]

Son cosas muy sofisticadas para mi nivel,… con cualquiera de las dos formas siempre sale .

[b]Error 1004

El Índice de la colección especificada se encuentra fuera de los límites[/b]

Amigos,… muchas gracias y saludos.

Enlace a comentario
Compartir con otras webs

Hola Jorge:

Prueba con:

ActiveSheet.Shapes(Application.Caller).Visible = False 'Oculta la imagen
[/CODE]

A mi me funciona.

He buscado en la ayuda [b]Application.Caller[/b] y es mucho mas sencillo de lo que parece.

[b]Application.Caller[/b] nos proporciona el nombre del objeto que ha iniciado la ejecución de la macro. En nuestro caso es una imagen de una "Tapa", que como todas las imágenes tiene un [b]nombre [/b]y que forma parte de la colección [b]Shapes [/b]de la [b]hoja activa[/b].

Fijate en la estructura:

[b]ActiveSheet.Shapes(Application.Caller)[/b] nos devuelve la imagen con el nombre que nos proporciona [b]Application.Caller[/b], y luego con la propiedad .Visible del objeto a False, lo ocultamos.

Si te queda alguna duda, no dudes en preguntar.

Saludos.

PD: Si ejecutas la macro desde el editor de VBA te saltará un error porqué [b]ApplicationCaller [/b]no contendrá el nombre de la imagen.

Enlace a comentario
Compartir con otras webs

Hola Macro, con esta macro asignada a la imagen de una carta se transformará en un

¡¡¡ AS DE CORAZONES !!!

Sub MostrarAs()
ActiveSheet.Shapes(Application.Caller).Select
ExecuteExcel4Macro "FORMULA(""=Baraja!R[0]C[0]:R[5]C[4]"")"
End Sub[/CODE]

Enlace a comentario
Compartir con otras webs

Buenas Pedro & Macro,

Peter, esta vez te has adelantado jeje, justamente ayer antes de salir estaba trasteando con el archivo y las nuevas funciones que le habeis metido y me preguntaba por que estabais copiando y pegando cuando se podia hacer mas facil con lo que tu has puesto. No subí el archivo por que no me daba tiempo a escribir el post cuando me marchaba fue sobre la hora que lo pusiste cuando lo terminé, estoy sincronizado con tus ondas jejeje.

Por cierto, el Application.Caller lo usais como si fuera un puntero de objetos no? A mi me da error, a ver si puedes compartir un libro en donde no de error en version 2007.

Un saludo y thanks por las innovaciones.

POKER_PW1.zip

Enlace a comentario
Compartir con otras webs

Hola Santi, ya sabes que tengo Excel 2010 y tu último fichero me permite ocultar las tapas usando Application.Caller que es una propiedad del objeto Application.

A ver si Macro te puede ayudar con Excel 2007.

¡El copiar y pegar se va a acabar!

Eso es más de Windows que de Excel, siendo más lógico cambiar las fórmulas en las formas - shapes, como has hecho tú:

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Shapes("pruebas_vzs0").Select
Selection.Formula = Range("micarta")
ActiveCell.Select
End Sub[/CODE]

Por cierto, las conexiones con el foro cada vez son peores y con errores en la base de datos de AyudaExcel.com

Enlace a comentario
Compartir con otras webs

Por alusiones:

Tengo Excel 2007 y no tengo problemas con Application.Caller.

El tema, creo yo, es el que apunte en mi último comentario.

Si ejecutas la macro desde el editor de VBA te saltará un error porqué ApplicationCaller no contendrá el nombre de la imagen.

Si la macro no se ejecuta desde un objeto incrustado, ActiveSheet.Shapes(Application.Caller) no puede resolverse.

Santi, mira en la ayuda los distintos valores que devuelve Application.Caller.

¡¡¡ Muxo Beti !!!

Saludos

Si ejecutas la macro

Enlace a comentario
Compartir con otras webs

Bueno, continuo con el estudio de ayer de tratar la imagen desde sus propiedades en lugar de copiar/pegar a lo bruto. El sistema que planteamos Pegones y yo, parece que es el camino ideal, pero es un tanto tosco la manera de llamar al objeto. 1, Seleccionar y luego manejar la selección.

No soy un experto, pero parece que la clase Selection, hereda todas las propiedades del objeto al que llama, en este caso dicho objeto es de la clase Image, es por esto que se hace tan útil esta funcion, no obstante, limita en muchos aspectos la utilización del objeto, que por poner un ejemplo, no puede llamarse desde otra hoja, es necesario que visualmente estemos encima de el y seleccionárlo para poder acceder a sus metodos. Por otro lado, Shapes, es un objeto con metodos limitados, desde el no podemos acceder al metodo Formula, que es el que interesa.

Se me ocurre una forma que es cutre desde mi punto de vista pero que solucionaria el problema.

    Dim Carta As Picture
Worksheets("Tapete").Shapes("MiImagen").Select
Set Carta = Selection[/CODE]

Una vez hecho esto, ya no es necesario que la imagen esté seleccionada, por poner un ejemplo, si la variable Carta fuera una variable global, podriamos manejar todas las propiedades de Image desde otra hoja y para interactuar con ella no tendríamos que volver a seleccionarla, es decir, la hemos “capturado” con Carta. Como metodo está bien si quieres salir del paso, te creas la variable global, asignas todas las cartas a un array de objetos Image y luego ya manejas comodamente toda la baraja, pero lo ideal seria poder asignar las imágenes sin el metodo Selection, que en este caso, unicamente esta actuando como conversor de punteros void, y que unicamente necesitamos para asignar el objeto Image a la variable Carta, si os dais cuenta de lo que estamos haciendo realmente, estareis con migo en que es tosco y tiene que haber una mejor solucion como la siguiente:

[CODE] Dim Carta As Picture
Set Carta = Worksheets("Tapete").Shapes("MiImagen")[/CODE]

Pero no funciona por que Shapes no es del tipo Image, he hecho pruebas y buscado por google pero no he conseguido encontrar la manera de realizar la asignación de una imagen usando su funcion de llamada Image.

Pero bueno, mientras no lo sepamos, se puede usar una variable global para guardar las 40 cartas, algo es algo.

Un saludo!

Enlace a comentario
Compartir con otras webs

Invitado jorgetchake

Estimado Pegones

He probado el archivo que modificaste (incluyendo la variable Dibujo),.. y luego de la primera pasada dejó de funcionar coherentemente,.. es decir,.. la macro OcultaTapa con el bendito Caller,… no se activa clicando en una de las tapadas,.. la activaba otra carta cualquiera y se oculta,… Yo no soy muy de confiar a éste nivel,… pero llegué a la conclusión y lo probé certificando que siempre funciona,.. si sustituimos en la sentencia del famoso Caller la acción de ocultar (.visible=False) por la de Delete.

No sé demostrarlo pero el ocultar mantiene en memoria el Shape que se ocultó, mientras que el Delete lo elimina de la memoria. Al mantenerse en memoria,… parece que provoca un desfase con la sucesión de imágenes y se pierde la sincronización con lo indicado con la variable Dibujo. Todo se produce porque para mí la sentencia Hoja.DrawingObjects.Delete,…. Deletea lo que se ve y no el contenido en memoria.

Eso lo pude constatar poniendo un msgbox para mostrar el Count de Shapes antes de la fila con DrawingObjects y otro msgbox después y el Count se mantiene con saldo,…. Por ejemplo antes de la sentencia DrawingObjects el contador tenía 10,.. en la hoja Tapete a la vista con 7 cartas ( las 5 más las 2 tapadas),… luego del DrawingObjects el contador de Shapes queda en 3,… y esas son las que provocan el desfase.

Espero que comprendas,… más o menos eso hice,… y además también probé por un momento sustituyendo el DrawingObjects por

Tapete.Shapes.SelectAll 
Selection.Delete
[/CODE]

Y funcionó bien,... pero volví al original.

Ahora tengo más claro el panorama,… esperaré a juntar ánimo para rehacer mi juego de Lets & Raid,… con el bendito diseño,…

Muchas gracias

Cordiales saludos.

Enlace a comentario
Compartir con otras webs

Efectivamente Jorge:

La diferencia entre .Visible y .Delete es que en un caso el objeto continua existiendo en la colección Shapes y en la otra no.

Mañana seguramente subiré otra versión. Tengo pendiente mirar tú último envío. Lo que estamos haciendo no se si valdrá o no para jugar al Poker, pero se aprenden un montón de cosas nuevas ¿No?

Saludos a todos

Enlace a comentario
Compartir con otras webs

Di con la tecla Pedro, como dije, iba a ser una tonteria. Era asi de simple:

    Dim MiCarta As Picture
Set MiCarta = Sheets("Tapete").Pictures("pruebas_vzs0")[/CODE]

Me he permitido tomar prestada tu formula RC para hacer un ejemplo de lo facil que seria manejar las 52 cartas por el metodo que propongo en el archivo, tomando como ejemplo la definicion anterior:

[CODE] MiCarta.Formula = Card(i)[/CODE]

Notese que no hay que seleccionar la carta en ningun momento, y ésta puede ser manejada desde cualquier hoja, estemos o no en la hoja objetivo, y para cambiar de carta unicamente hace falta un numero entre 1 y 52.

Un saludo amigos!

POKER_vzs.zip

Enlace a comentario
Compartir con otras webs

Invitado jorgetchake

Amigos

Adjunto el estado que logré con mi juego,… por unos días dormirá en su carpeta hasta que pueda juntar la voluntad de rehacerlo con el diseño que gracias a MA y PW ya tengo.

Todo el juego se desarrolla en la hoja Let & Raid,… y se muestran las cartas en modo abreviado,… en paralelo se arma la hoja Tapete que muestra los diseños nuevos donde las dos últimas están tapadas,… a medida que el jugador va respondiendo a las opciones de SI-NO, se van destapando las ocultas en la hoja Tapete,… pero no usé el sofisticado Caller,… preferí hacerlo de un modo más artesanal pero para mí más sólido.. Primero despliego las 5 cartas en Tapete y después tapo las 2 últimas,…. De tal forma que para eliminar las tapadas lo que hago es

Tapete.Shapes(Tapete.Shapes.Count).Delete[/CODE]

Pienso en rehacerlo para tener algo más limpio como código. En estos momentos de pruebas y definiciones está hecho (como decía un amigo peruano) [b]Un arroz con Mango.[/b]

Cordiales saludos.

juego-poker-let-and-raid.diseño5.zip

Enlace a comentario
Compartir con otras webs

Hola:

Otra forma de ver la función:

Public Function Card(Num As Integer) As String
Dim a As Integer, b As Integer, c As Integer, d As Integer
a = (Int((Num - 1) / 13) * 6) + 1
b = ((Num - 1) * 5 + 1) Mod 65
c = a + 5
d = b + 4
Card = "=Baraja!" & Range(Cells(a, , Cells(c, d)).Address
End Function
[/CODE]

Creo que el valor del aporte de Pedro no es es la fórmula en si, ya que de hecho se trata de un rango. Lo verdaderamente importante para mi, es haber descubierto que a una imagen se le puede aplicar una fórmula, cosa que yo desconocía.

Así mismo, también agradacerle el descubrimiento para mi de Application.Caller

Saludos a todos.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola de nuevo a ambos, @daren, tu archivo lleva excesivos datos, que creo no son necesarios para la información final que buscas. Te subo otro archivo, simplificado al máximo, que, si lo he entendido bien, con esta fórmula simplificada: =CONTAR.SI('Casos de Prueba'!I:I;"OK")*('Casos de Prueba'!I1="Resultados Ciclo "&COLUMNA(A5)) se calcularía el primer dato, que se encuentra en la columna I. Copiando la fórmula a la derecha las celdas que necesites, se completaría el rango.  Tu fórmula la coloco en D7, y esta nueva en D9, que como ves (si, repito, he interpretado bien lo que buscas), da los mismos resultados. ---------------------------------------------------------------- En cuanto a: Aquí tienes, en el mismo archivo (Hoja 3) lo que devuelve tu fórmula cuando hay un determinado dato en A1 y en B2. No llego a entender qué es lo que quieres exactamente.  Tal vez con una pequeña explicación de lo que esperas obtener, sea suficiente para poner el hilo a la aguja. ? ----------------------------------------------------------------- En el caso de que falte por añadir o evaluar alguna otra variable o parámetro (en tu primer post hablabas sólo de 'OK' y ahora veo que en el archivo figuran además 'KO' y 'BLOCK'), por favor, intenta emular el ejemplo del archivo que estoy subiendo; añade EXCLUSIVAMENTE esos datos en la hoja allá donde proceda, explicando dónde o cómo deben contarse o sumarse. Mejor trabajar siempre con datos anónimos y reducidos. Desconozco si en tu archivo alguno de esos datos puede considerarse confidencial, pero seguro que no interesan a nadie. Mucho mejor obviarlos. Saludos, Plantilla V3 (B).xlsx
    • buenas noches, quisiera saber si puedo mejorar mi macros que se encuentra en el evento change de la hoja de calculo de Excel, son códigos de cálculos básicos, además si me pudieran ayudar a reducir el código o darme algún tip para reducirlo yo mismo estaría muy agradecido.  de ante mano muchas gracias     Private Sub Worksheet_Change(ByVal Target As Range)     Application.ScreenUpdating = False     Application.Calculation = xlManual     Application.EnableEvents = False              If Not Intersect(Target, Range("$L$5:$Y$9")) Is Nothing Then             Sub todo()          Range("E22") = WorksheetFunction.Sum(Range("E4:E21"))     Range("E23") = WorksheetFunction.Sum(Range("E4:E19"))     Range("E24") = WorksheetFunction.Sum(Range("E23") - WorksheetFunction.Sum(Range("I4:I7")))     Range("i22") = WorksheetFunction.Sum(Range("I4:I21"))     Range("I4") = Range("E23") * 0.1     Range("I6") = Range("E23") * 0.0127     Range("I5") = Range("EN10") * Range("EN11")     Range("I7") = Range("E23") * 0.006     Range("I25") = Range("E22") - Range("I22")     Range("I12") = Range("E24") * 0.03     Range("C7") = WorksheetFunction.Sum(Range("EQ8") - (Range("EQ9"))) + Range("EN13") + Range("EN14") + Range("EN15") + Range("EN16")     'Range("E7") = WorksheetFunction.Sum(Range("C7") * ((Range("E4") * 0.0077777)))     Range("C9") = Range("EQ9") + Range("EN17") + Range("EN18") + Range("EN19")     'Range("E9") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 45) * 1.3) * 1.5) * Range("C9")     'Range("E8") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 45) * 0.3)) * (Range("C8"))     Range("E9") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 44) * 1.3) * 1.5) * Range("C9")     Range("E8") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 44) * 0.3)) * (Range("C8"))     Range("E7") = WorksheetFunction.Sum((((Range("E4") / Range("C4")) * 7) / 44) * 1.5) * Range("C7")          End Sub              End If                  Application.Calculation = xlAutomatic     Application.ScreenUpdating = True     Application.EnableEvents = True     End Sub
    • Buenas perdonad la espera adjunto el fichero Excel y explico mas detallado lo que me solicitan: Lo que me solicitan es que esos CP de la pestaña Casos de prueba los cuales tienen formulas para que cuando se copien y peguen junto a sus pasos el CP se va autoincrementando a 1,2,3 etc...., pero si copias ese CP bien solo con el primer paso o con todos sus  pasos y lo insertas entre dos CP no continua con la numeración, como se ve en la foto al hacer eso el CP insertado continua con la numeración CP2 y el de abajo pone también CP2 no se incrementa ni ese ni el valor de CU que hay a la derecha que también es incremental. Necesitaría que continuara con esa numeración aun insertándolo entre medio de 2 tanto el CP como el CU de la derecha. También me solicitan que el campo Ciclo 1 de la pestaña Resumen es auto incremental cuando copias y pegas va sumando 1, pero en las formulas referentes a Ok KO Y bloqueo al copiar y pegar se mantiene la misma formula , la idea es que cuando copies y pegues la fila donde están los ciclos se autoincremente Ciclo a 1,2,3,4 etc... y la formula de los campos OK,KO y Bloqueos se incremente también pasando de la columna I a la J  luego a la k etc... y que en Resultados Ciclo el numero de la formula también se incremente Resultados Ciclo 1 , 2 ,3 etc... que cambie la columna a la vez que el numero de Resultados Ciclo. Gracias por adelantado un saludo. Plantilla v3 Pruebas.xlsx  
    • Saludos amigos espero estén bien Estoy intentando hacer un formulario que me convierta unidades de masa sin embargo  en el mejor de los casos solo he podido lograr la conversión de una unidad a la vez en los TextBox 1, 3, 5, 7, 9, 11 y 13 y cuando lo logro el resultado que se copia  en la celda no se corresponde con el obtenido originalmente en el Textbox del Formulario (frmconv)  ejemplo al convertir 1900 Kg a Lb el resultado en el TextBox1 =4188,78298142 sin embargo al guardar el resultado lo que se copia en la Celda  "F11" es  418.878.298.142,00, adicionalmente el resultado de la conversión no se visualiza inmediatamente por lo que debo de hacer click en los TextBox 1, 3, 5, 7, 9, 11 y 13  para ver el resultado. Mucho les sabre agradecer la ayuda que me puedan brindar. PRUEBA.xlsm
    • Saludos a ambos. Copiar y pegar por sí solas, no tengo el conocimiento de que sirvan como "evento" para actualizar las referencias que buscas hacer, en la forma que lo quieres hacer, ó la fórmula como la quieres hacer. Te recomiendo abrir un tema similar en Macros, es posible que algún Maestro te de alguna idea. Por otro lado, si debe ser con funciones, entonces tendías que interactuar con COLUMNA() y FILA() para que al pegar el destino "sepa" donde está ubicado e intentar cambiar la referencia. =INDIRECTO(CARACTER(COLUMNA()+64)&FILA()) Algo como eso se podría usar para obtener el código ASCII de la letra de la columna (donde 65 es el código para “A”), y FILA() devuelve el número de la fila. La función CARACTER() convierte el código ASCII en una letra. Luego, INDIRECTO() toma la cadena resultante (por ejemplo, “A1”, “B2”, etc.) y la usa como una referencia de celda. En ese caso, una posible idea de editar tu ejemplo sería: =SI(INDIRECTO("'Casos de Prueba'!"&CARACTER(COLUMNA()+64)&"1")="Resultados Ciclo 1"; SI(CONTAR.SI(INDIRECTO("'Casos de Prueba'!"&CARACTER(COLUMNA()+64)&":"&CARACTER(COLUMNA()+64)); "OK")=0; 0; CONTAR.SI(INDIRECTO("'Casos de Prueba'!"&CARACTER(COLUMNA()+64)&":"&CARACTER(COLUMNA()+64)); "OK")); 0)   Enfatizo que es una idea, es muy probable que haya que editar. Así como esta su tema, la recomendación del maestro toma relevancia porque especular o deducir no es lo adecuado para intentar ayudar en este tipo de consultas. Por esta causa de mi parte por ejemplo no puedo aportar algo adicional.
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.