Copiar filas de diferentes archivos de excel en uno nuevo

Tengo tres ficheros de excel que son iguales (se usan en diferentes departamentos). Dentro de cada uno hay una hoja que tiene un encabezado en la primera fila y luego tiene x filas en función de lo que se haya introducido en cada una.

Lo que querria es en otro archivo de excel que me pegase todos los datos de cada una de las hojas en una nueva, uno detrás de otro. Manteniendo solo un encabezado (es el mismo en todas). Si puede ser que se actualice automáticamente si hay cambios en alguno de los archivos de excel.

1 respuesta

Respuesta
2

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

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. 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”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: pinta
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas