Macro Guardar datos en otra hoja

Si me podrían apoyar con un código o macro que valla aguardando los datos de la hoja 1 en la hoja 2, y que valla aguardando los datos abajo de los últimos datos que aguarde, ejemplo:
                      HOJA1
Factura cliente importe
   1545 TONY 549.50
   1546 PASSINO 645.61
                      HOJA2
Factura cliente importe
   1544 NACIF 564.95
   1545 TONY 549.50
   1546 PASSINO 645.61

1 respuesta

Respuesta
4
Para armarte una macro necesitamos saber en qué momento la querrás ejecutar.
En este caso puede ser un botón o atajo de teclado, y te copiará todas las filas de hoja1.
Para volverla a ejecutar previamente tendrás que borrar esos regs para que no se pasen nuevamente, o de lo contrario marcarlos una vez pasados.
Como verás hay un par de detalles que espero aclares para poder armar lo que necesitas.
Hola Elsa buenos días y gracias por contestar, seria con un botón de comando que al momento de terminar de capturar mis datos en la hoja 1 y oprimir este botón me inserte los registros en la hoja 2, y ya posteriormente borrar los datos con otro botón de borrar datos.
Gracias, Saludos!
Bien, aquí va la rutina para el botón de copiado. También incluye la línea de limpieza pero esa podes quitarla y colocarla en otro botón si te parece.
Entrá al Editor, insertá un módulo y copiá esto. Si hay que ajustar nbre de hojas o celda inicial este es el momento.
Luego insertá un botón (con la barra Formulario), clic derecho, Asignr macro y seleccionás esta.
Sub pase()
'x Elsamatilde
'guardamos en variable la primer fila libre de la hoja2
libre = Sheets("Hoja2").Range("A65536").End(xlUp).Row + 1
'guardamos en variable la última fila ocupada de hoja1
finfila = ActiveSheet.Range("A65536").End(xlUp).Row
'copiamos rango
ActiveSheet.Range("A2:C" & finfila).Copy Destination:=Sheets("Hoja2").Range("A" & libre)
'opcional borrar aquí mismo o colocar esta línea en otro botón
ActiveSheet.Range("A2:C" & finfila) = ""
End Sub
Sdos. No olvides finalizar la consulta si el tema quedó resuelto.
Elsa
*Para aprender todo sobre macros no dejes de revisar mis manuales:
http://aplicaexcel.galeon.com/manuales.htm
Lo voy a poner en practica y le comento cual es el resultado, gracias.
Bien, pero no te la olvides...
Sdos
Elsa
Hola Elsa, si esta bien solo que los datos a copiar son de fórmulas y funciones y en el momento que las copia a la hoja2 me pone en las celdas esto #¡REF!, como le puedo hacer para que me copie los valores nada más.
Gracias. Saludos!
Aquí va con pegado especial...
Sub pase()
'x Elsamatilde
'guardamos en variable la primer fila libre de la hoja2
libre = Sheets("Hoja2").Range("A65536").End(xlUp).Row + 1
'guardamos en variable la última fila ocupada de hoja1
finfila = ActiveSheet.Range("A65536").End(xlUp).Row
'copiamos rango y pegamos 'solo valores'
ActiveSheet.Range("A2:C" & finfila).Copy
Sheets("Hoja2").Range("A" & libre).PasteSpecial Paste:=xlValues

'inhabilita el modo Copiar/Pegar
Application.CutCopyMode = False
'opcional borrar aquí mismo o colocar esta línea en otro botón
 'ActiveSheet.Range("A2:C" & finfila) = ""
End Sub
Sdos
Elsa
Elsa buenos días, ya esta funcionando a la perfección el código, le agradezco su apoyo. Y claro que voy a ver todos sus manuales de macros, es muy interesante esto de las macros.
Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas