Macro en excel

Buen día experto, mi pregunta es que código puedo utilizar si ingreso datos en la hoja1 de un libro de excel del cual quisiera que el la hoja2 me traslade pero si el la fila de la hoja2 existen datos por ejemplo en la fila5 que me coloque la información en la fila6 y así sucesivamente. Gracias por su atención.

1 Respuesta

Respuesta
1
Aquí te mando el siguiente código:
Este copia los nuevos datos que ingreses en la Columna A de la Hoja 1 y los copia a la Columna C debajo de los datos existentes en la Hoja 2.
Sub formula()
i = 0
Range("A2").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
i = i + 1
Loop
d = 2
Sheets("Hoja2").Select
ActiveSheet.Range("C2").Select
For x = 1 To i
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
'=Hoja1!A2
ActiveCell.formula = "=Hoja1!A" & Format(d) & ""
d = d + 1
Next
Sheets("Hoja1").Select
End Sub
Saludos y no olvides cerrar la pregunta.
Gracias experto veré el código se funciona
Buen día experto, verifique el código, y si me traslada los datos de la hoja1 a lo hoja2, pero tal vez no me explique bien, ya que lo que intento es efectuar una base de datos en la hoja2, entonces los datos que ingrese en la hoja1 que me los copie en la hoja2 pero son diferente datos y el código que me enviaste copia los mismos datos. Ya que si ingreso por ejemplo el nombre de Juan en la hoja1 me lo copia en la hoja2 pero si cambio el nombre por Pedro me cambia todos los nombre a Pedro y el Nombre de Juan desaparece.
Disculpa las molestias.
Espero tu respuesta gracias.
No te preocupes, no hay ninguna molestia el error ha sido totalmente mio, por favor prueba este código, estoy seguro que esta vez no habrá problemas, saludos :)
Sub formula()
i = 0
Sheets("Hoja1").Select
Range("A2").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
i = i + 1
Loop
d = 2
g = 2
Sheets("Hoja2").Select
ActiveSheet.Range("C2").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
g = g + 1
Loop
Sheets("Hoja2").Select
ActiveSheet.Range("C2").Select
y = 2
For x = 1 To i
ActiveSheet.Range("C" + CStr(g)).Select
ActiveCell.formula = "=Hoja1!A" & Format(y) & ""
g = g + 1
y = y + 1
Next
Sheets("Hoja1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas