Ayuda con macro para exportar a otro libro de excel

hola expertos, necesito ayuda con una macro para exportar los datos de una hoja llamada "imprime corte" a un libro ubicado en c: llamado "Histórico de cortes" en la hoja1 y que en la próxima vez que ejecute la macro pegue los datos de la misma hoja "Imprime corte" en el mismo libro "Histórico de cortes" pero ahora en la hoja2 y asi sucesivamente sin un numero limite de hojas en donde se copie la información, se que me podre encontrar una respuesta con ustedes....gracias

1 respuesta

Respuesta
1

Adjunto un procedimiento que te valdría:

Sub CopiaHojaAOtroLibro(hori As String, fldes As String)
'Copia la hoja hori en el libro cuyo fichero es fldes y lo cierra salvando
Dim lbori As String 'libro origen
Dim lbdes As String 'libro destino
'recoge el nombre del libro origen
lbori = ThisWorkbook.name
'Abre el otro libro, toma su nombre y añade una hoja
Workbooks.Open Filename:=fldes
lbdes = ActiveWorkbook.name
Sheets.Add After:=Sheets(Sheets.Count)
'hace la copia sober la hoja activa, que es la ultima añadida
Workbooks(lbori).Worksheets(hori).Cells.Copy _
   Destination:=Workbooks(lbdes).ActiveSheet.Range("a1")
'Cierra y guarda el libro destino
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

Y para usar este procedimiento la llamada sería algo como:

Sub CopiaHistorial()
Dim h As String
Dim l As String
h = "Imprime corte"
l = "C:\userdata\yo\Desktop\Histórico de cortes.xlsx"
Call CopiaHojaAOtroLibro(h, l)
End Sub

Tendrás que adaptar la ruta a la que proceda.

Si te vas a meter a este tipo de cosas y si me lo permites, te sugiero que guardes, por ejemplo en la hoja1 del libro histórico, datos relevantes como la fecha y hora, el motivo de copia o cualquier otro que te ayude después a calcular indicadores sobre las diferentes copias, sin tener que ir una por una.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas