Estoy intentado crear una macro para copiar datos de una tabla de un libro a otro.
Este es el código que estoy utilizando:
Sub copiar_a_libro_dashboard()
Application.ScreenUpdating = False
'Variables
Dim wbLibroOrigen As Workbook
Dim wsHojaOrigen As Worksheet
Dim wbLibroDestino As Workbook
Dim wsHojaDestino As Worksheet
'Ruta
Dim Ruta As String
Ruta = "C:\Users\Puche\Desktop\PAQUETERIA PALAU\BASE DATOS.xlsx"
'Datos destino
Set wbLibroDestino = Workbooks.Open(Ruta)
Set wsHojaDestino = wbLibroDestino.Worksheets("Base Datos")
'Datos origen
Set wbLibroOrigen = Workbooks(ThisWorkbook.Name)
Set wsHojaOrigen = wbLibroOrigen.Worksheets("PALAU")
'Obtener la ultima posicion de la tabla de la hoja origen de datos
final_origen = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row
'Obtener la ultima posicion de la tabla de la hoja destino de datos
final_destino = wsHojaDestino.Range("A" & Rows.Count).End(xlUp).Row
'Copia los datos y los pega en el libro destino
wsHojaOrigen.Range("A2:M2" & final_origen).Copy Destination:=wsHojaDestino.Range("A5:M5" & final_destino)
'Cierra libro y guarda
'Workbooks(wbLibroDestino.Name).Close SaveChanges:=False
End Sub
Cuando ejecuto la macro por primera vez, me copia bien los datos al otro libro (50 filas), el problema es cuando intento ejecutar la macro otra vez.
Debería de copiar los registros a partir de la fila 51 pero no funciona bien el código que tengo.
Espero me puedan decir donde tengo el error de código
Saludos,
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola buenas noches,
Estoy intentado crear una macro para copiar datos de una tabla de un libro a otro.
Este es el código que estoy utilizando:
Sub copiar_a_libro_dashboard() Application.ScreenUpdating = False 'Variables Dim wbLibroOrigen As Workbook Dim wsHojaOrigen As Worksheet Dim wbLibroDestino As Workbook Dim wsHojaDestino As Worksheet 'Ruta Dim Ruta As String Ruta = "C:\Users\Puche\Desktop\PAQUETERIA PALAU\BASE DATOS.xlsx" 'Datos destino Set wbLibroDestino = Workbooks.Open(Ruta) Set wsHojaDestino = wbLibroDestino.Worksheets("Base Datos") 'Datos origen Set wbLibroOrigen = Workbooks(ThisWorkbook.Name) Set wsHojaOrigen = wbLibroOrigen.Worksheets("PALAU") 'Obtener la ultima posicion de la tabla de la hoja origen de datos final_origen = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row 'Obtener la ultima posicion de la tabla de la hoja destino de datos final_destino = wsHojaDestino.Range("A" & Rows.Count).End(xlUp).Row 'Copia los datos y los pega en el libro destino wsHojaOrigen.Range("A2:M2" & final_origen).Copy Destination:=wsHojaDestino.Range("A5:M5" & final_destino) 'Cierra libro y guarda 'Workbooks(wbLibroDestino.Name).Close SaveChanges:=False End Sub
Cuando ejecuto la macro por primera vez, me copia bien los datos al otro libro (50 filas), el problema es cuando intento ejecutar la macro otra vez.
Debería de copiar los registros a partir de la fila 51 pero no funciona bien el código que tengo.
Espero me puedan decir donde tengo el error de código
Saludos,