Guardar valores de celdas relativas en excel

Hola, les planteo una duda que tengo;
Lo que pasa es que tengo que hacer un trabajo y se me presentaron algunas complicaciones.
Déjenme explicarme; tengo la celda a10 donde se muestra un resultado que varia cada vez que introduzco un valor nuevo (numero) en cualquiera de las celdas de la a1 a la a8.
El problema es que tengo que hacer una lista que vaya guardando cada uno de los valores en otra tabla conforme se vayan presentando, solo que no se como hacerlo.
Supongo que debo hacer uso de los contadores para que me vayan guardando cada valor o tal vez exista otra forma de hacerlo, pero lo ignoro por el momento
Espero que me puedan ayudar.

1 respuesta

Respuesta
1
Es fácil, podemos hacer una macro que se ejecuta en automático para tu hoja1 ( si esta es en la que estas trabajando), vamos a aclarar que luego no os explicáis del todo bien y van aparaciendo complicaciones, cuando te refieres a "guardar en otra tabla" esa tabla donde esta en la misma hoja, en otra hoja o en otro libro que puedes tener abierto o cerrado.
Seguimos al abrir tu libro la celda A10 tendrá un valor que asignaremos a una variable, en la macro ponemos que cada vez que este valor cambie copie el dato y lo pegue en tu otra tabla que tienes que aclararme, ademas me tienes que aclarar como iría la secuencia donde pegamos los datos : en filas, en columnas, en rango diferentes.
Bien especificado todo lo que necesito aclarameló y te pongo la macro, si me pones las celdas exactas menos trabajaras tú después.
>Un saludo
>Julio
Hola, gracias por tu interés.
Me explico, mi hoja de trabajo es la numero dos, celda a10 y los valores los voy a mostrar en la hoja 4 del mismo libro, por lo que estaría abierta.
En la hoja 4, los datos se almacenarían en una misma columna (la C) e hirian en orden (c1, c2, c3... etc.), es decir, el ultimo valor mostrado en a10, debe ser el ultimo colocado en la columna C.
Si puedo agregar algo, mi celda A10, TIENE un valor que es producto de una concatenación (por eso mencione que junta los valores de la a1 a la a8 y los junta a los de b10 a b18) . Cuando abro el libro de Excel, no tiene valor asignado.
Te agradecería que si no me he explicado bien, me lo comentes para poner los datos específicos.
Saludos
Ya veo, entonces a medida que vayas poniendo valores a las otras celdas la celda A10 irá cambiando de valor, pero ojo igual hasta que no termines no tendrás el resultado total de la concatenación, como la fórmula se va ejecutando a medida que introduces datos irá variando, desde el valor blanco hasta tu valor final, y no sé si eso es lo que quieres o que una vez cuando tengas el valor total, copie el resultado, y a partir de ese momento sea cuando cambies el valor en las celdas de referencia sea cuando se empiece a ejecutar la macro.
Me explico, al iniciar la hoja no tiene valor, pones en A1 un 8 el resultado de A10 será 8, la macro te lo lleva a la otra hoja, ahora pones en A2 un 3 el valor de A10 sera 83 te lo lleva a la otra hoja... y así hasta el final. Podemos hacer esto o esperar a que tu tengas todas las celdas rellenas que el valor inicial de A10 sea por ejemplo 1234567A87654321, y que sea a partir de este valor cuando empiece a llevarte las modificaciones a la otra hoja.
Aclarame tu necesidad
Es que la diferencia esta en si puedo ponerte la macro en el arranque del libro o esperar a que la celda tenga 16 valores, y la tengas que ejecutar tu en cada momento.
>Un saludo
>Julio
SALUDOS.
En realidad, me interesa guardar el VALOR FINAL (es decir, una vez que todo esta concatenado, tengo una cadena de dígitos muy grandes y ESTA ES la que quiero guardar), obviamente esta cadena es única, ya que si le muevo un valor a cualquiera de las celdas, el valor de la cadena de Concatenación sera diferente. En la hoja 4 quiero copiar la cadena COMPLETA de cada concatenación y una vez que las celdas se vuelvan a llenar y la cadena este de nuevo completa que la guarden en la siguiente fila de C y así sucesivamente. El objetivo es formar como una lista del resultado total de CADA Concatenación.
Te agradezco mucho tu interés y espero tu respuesta.
Vale, entonces tienes que ejecutar la macro tu cuando quieras, sería algo así:
Private Sub Copia_Pega()
Sheets("Hoja2").select
Range("A10").Copy
Sheets("Hoja4").Select
ActiveCell.PasteSpecial
ActiveCell.Offset(1,0).Select
Sheets("Hoja2").Select
End Sub
Cuando quieras la ejecutas y listo
>Un saludo
>Julio
Saludos.
Dejame checo el código y te doy mi finalización
He tenido un poco de trabajo. En un día o dos te contesto, pero de antemano gracias.
Saludos
Con la novedad de que el código no funciona.
Lo aplique y no me copia el valor en excel en la hoja 4, solo aparece en la celda c1 lo siguiente;
#¡REF!
Trate de checar porque hace eso pero no le encuentro el motivo. Te agradecería la ayuda.
(Obviamente el código lo copie en visual basic de la hoja 2, espero que no haya cometido algún error)
Siento tardar pero he tenido bastante trabajo, en relación a tu problema, espero que la macro la hayas pegado en un módulo no en la misma hoja, inserta un modulo y en él pegas la macro. Pruébalo y me cuentas.
>Un saludo
>Julio
Saludos
Inserte un nuevo modulo dentro del editor de visual basic y el resultado fue el mismo. En la hoja 4 solo me aparece; #¡REF!.
Es algo extraño, ademas cuando ejecute el código (con f5) y le puse un nombre a la macro
dentro del editor de código SI pega el valor de a10, pero solo una vez. Espero tu respuesta y no te preocupes, entiendo que estés ocupado, así que tomate tu tiempo.
Pues claro no me dijiste que quieres que lleve los valores cuando cambies tu el valor de la celda de la hoja 2 pues te dije pon esta macro " y la ejecutas cuando lo necesites" pues eso entendí, que tu cambias el valor de la hoja 2 y ejecutas la macro, cuando vuelvas a cambiar el valor pues vuelves a ejecutarla, evidentemente la ejecutas tu cuando quieras, en vez tener que copiar ir a la hoja 4 y pegar la macro lo hace por ti.
>Un saludo
>Julio
SALUDOS

Tenias razón, solo era cuestión de que yo mismo me organizara.
Gracias por la paciencia y atención.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas