Combinar varios libros Excel en un único libro

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2019Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010

Este post está dedicado a "María Ángeles", que como bien sabe casi todo está en los libros y el resto en el corazón... ¡Feliz cumpleaños!

De forma automática podemos combinar todos los libros de una carpeta en un único libro.

Combinar varios libros Excel en un único libro
  • CREAR MACRO
  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la macro.

    Explorador de Proyectos con módulo1 seleccionado
  4. Escribir el código de la macro:

    Sub une_libros()

    Set fs_objeto = CreateObject("Scripting.FileSystemObject")

    With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Seleccionar la carpeta"
    .Show
    End With

    On Error Resume Next
    Path = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"

    Set Directorio = fs_objeto.GetFolder(Path)
    Filename = Dir(Path & "*.xls*")

    Do While Filename <> ""
    Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
    For Each Sheet In ActiveWorkbook.Sheets
    Sheet.Copy After:=ThisWorkbook.Sheets(1)
    Next Sheet
    Workbooks(Filename).Close
    Filename = Dir()
    Loop

    End Sub

  5. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

 
  • EJECUTAR MACRO
  1. Ejecutar la macro: une_libros.

  2. Indicar la carpeta deseada donde se encuentran los archivos Excel para combinarlos.

  3. Verificar como en el libro activo inserta las hojas de los libros situados en la carpeta seleccionada.

Libro Excel con las hojas combinadas
Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.