Como copiar datos de una hoja de excel a la ultima fila vacía de otra hoja

La situación es la siguiente tengo en una hoja de excel (hoja 1) el formato de una factura en la cual puedo introducir 20 items también tengo una macro que imprime la factura y guarda la información del numero de factura cliente fecha y total en otra hoja de excel (hoja 2) hasta ahí me funciona de maravilla pero ahora necesito que todos los items de la factura como código de producto, cantidad, y nombre del producto se copien a otra hoja (hoja 3) y que cada vez que haga una factura los items de la nueva factura se copien a la ultima fila en blanco que de esta nueva hoja los cuales pueden ser solamente 1 item o los 20 que acepta la factura, también deseo que se copie el numero de factura y la fecha de la misma.

Quisiera agregar esta macro a la que ya tengo actualmente es decir primero que copie todos estos datos y luego que siga con las instrucciones que ya tengo establecidas.

Respuesta
1

Dentro de la misma macro que tienes debes añadir el siguiente código y ajustarlo según tus rangos y/o necesidades, recuerda que para abrir el código que ya tienes debes presionar las teclas Alt+F11 y buscas el módulo en donde esté la macro.

Sheets("Hoja1").Select  ' Cambia el nombre de la hoja si es otro en donde están los datos

Range("A1:D20"). Copy

Sheets("Hoja2").Select

Range("A1").Select

Selection.End(xlDown).Select

Activecell.offset(1,0).Select

Selection. PasteSpecial xlpasteValues

Si le quieres añadir más datos o tienes más datos, amplia o modifica el rango.

Hola Hilario

Gracias por tomarte tiempo para responder mi pregunta, copie tu código y lo aplique en un libro nuevo de excel para comprobar el procedimiento pero la macro se detiene por un error el la linea

ActiveCell.offset(1,0).select

y cuando veo la hoja 2 el cursor esta en la ultima fila 1048576 

Me gustaría que me aclararas si es que estoy haciendo algo mal, de antemano mil gracias por tu tiempo

Eso sucede porque no tenías datos guardados en la hoja2 entonces la macro se va hasta la última línea de la hoja.

La línea que te da el error lo que hace es que baja una fila después de la que está es por eso que da error ya que no puede bajar más.

Puedes incluir algunos datos inicialmente y la macro te funcionará bien o añade lo siguiente al macro antes de la línea que te da el error:

Selection.end(xldown). Select

Selección.end(xlup).Select

Añade solamente esas dos líneas y listo.

La primer línea estará repetida por lo que bajará dos veces por si hay datos.

Prueba con eso y seguramente ya no tendrás problemas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas