Te anexo la macro. Pon la macro en el libro principal.
En esta línea de la macro pon los nombres de tus libros:
libros = Array("Libro1.xlsx", "Libro2.xlsx", "Libro3.xlsx")
Los 3 libros y el libro principal con la macro deberán estar en la misma carpeta.
Sub ActualizarLibro()
'Por.Dante Amor
libros = Array("Libro1.xlsx", "Libro2.xlsx", "Libro3.xlsx")
'
Set l1 = ThisWorkbook
Set h1 = l1.Sheets.Add
ruta = l1.Path & "\"
'
For i = LBound(libros) To UBound(libros)
If Dir(ruta & libros(i)) <> "" Then
Set l2 = Workbooks.Open(ruta & libros(i))
Rows(1).Copy h1.[A1]
u = h1.UsedRange.Rows(h1.UsedRange.Rows.Count).Row + 1
Range([a2], [a2].SpecialCells(11)).Copy h1.Range("A" & u)
l2.Close False
End If
Next
MsgBox "libros copiados", vbInformation
End Sub
Te recomiendo que realices la actualización con un botón, pon el botón en el libro principal.
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: pinta
- Aceptar.
- Para ejecutarla dale click a la imagen.
Saludos. Dante Amor
No olvides valorar la respuesta.