Referencia en VBA de Excel a una celda variable

Buenas a todos,

Estoy intentando realizar una macro en Excel para copiar los datos de una hoja en otra.

El problema que tengo es que necesito que cada vez los pegue en una fila distinta en la hoja de destino para que todos estén correlativos.

Me gustaría saber si existe alguna forma de referenciar una celda en Excel poniendo el número de fila de forma variable y me explico:

En la hoja1 tengo una celda "A1" que va incrementandose cada vez que se abre la hoja en 1.

Imaginemos que en este momento esa celda "A1" de la hoja1 tiene el valor 10, pues necesitaría que los datos me los pegara en la hoja2 en la celda "B(valorceldaA1hoja1)+2", en cuyo caso debería pegar los datos en la celda B12 de la hoja2.


Espero haberme explicado con claridad. He visto varios ejemplos pero todos referencian directamente a una celda de destino de forma simple "B2" ,"C12","X24", etc... y no se si el número de la fila se podría hacer de forma variable en VBA.

Gracias de antemano.
Podrías hacer lo siguiente:

valorceldaA1hoja1 = Range("A1").Value

Si por ejemplo en la hoja2 es siempre la misma columna puedes hacer:

Range("B" & (2 + valorceldaA1hoja1) = a_lo_que_quieras_guardar.

Incluso si lo quieres juntar todo en una línea podría ser:

Sheets("Hoja2).Range("B" & (2 + (Sheets("Hoja1").Range("A1").Value) ) = a_lo_que_quieras_guardar.


En el caso de que la casilla destino de la hoja pueda variar también la columna, siempre puedes usar variables dentro del método range:

Range( columna & fila ).Value

y que las variables columna y fila las calcules en otros lados.
Muchisimas gracias,

Esta mañana haciendo pruebas lo he terminado solucionando más o menos igual, asignando el valor a una variable.

Todo solucionado!!!

Gracias
2 respuestas