Cómo fusionar varios archivos Excel en uno solo

¿Tienes muchos archivos de Excel y quieres fusionarlos en uno solo?

Tal vez desee fusionar varios informes diarios en un archivo de informe mensual. O desea fusionar los informes de ventas de cada área en un único archivo de informe.

Hay muchas maneras de combinar varios archivos de Excel en un solo archivo. Si los archivos que desea combinar son pocos, puede hacerlo manualmente. Puede hacerlo «Copy & Paste» el contenido del documento, «Move o Copy» hojas, etc.

Si va a fusionar muchos archivos, la forma más rápida es utilizar macros VBA.

Fusionar varios archivos Excel en uno solo

  1. Cree un nuevo archivo Excel.
  2. Pulse ( Alt + F11 ) para abrir el Editor de Visual Basic.
  3. Cuando se abra la ventana del Editor de Visual Basic, haga clic en “ ThisWorkbook > Insert > Module ”.
unprotect-sheet-excel-01
  1. A continuación, copie el siguiente macro script
Sub MergeExcelFiles()
    Dim fnameList, fnameCurFile As Variant
    Dim countFiles, countSheets As Integer
    Dim wksCurSheet As Worksheet
    Dim wbkCurBook, wbkSrcBook As Workbook
 
    fnameList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
 
    If (vbBoolean <> VarType(fnameList)) Then
 
        If (UBound(fnameList) > 0) Then
            countFiles = 0
            countSheets = 0
 
            Application.ScreenUpdating = False
            Application.Calculation = xlCalculationManual
 
            Set wbkCurBook = ActiveWorkbook
 
            For Each fnameCurFile In fnameList
                countFiles = countFiles + 1
 
                Set wbkSrcBook = Workbooks.Open(Filename:=fnameCurFile)
 
                For Each wksCurSheet In wbkSrcBook.Sheets
                    countSheets = countSheets + 1
                    wksCurSheet.Copy after:=wbkCurBook.Sheets(wbkCurBook.Sheets.Count)
                Next
 
                wbkSrcBook.Close SaveChanges:=False
 
            Next
 
            Application.ScreenUpdating = True
            Application.Calculation = xlCalculationAutomatic
 
            MsgBox "Processed " & countFiles & " files" & vbCrLf & "Merged " & countSheets & " worksheets", Title:="Merge Excel files"
        End If
 
    Else
        MsgBox "No files selected", Title:="Merge Excel files"
    End If
End Sub

Fuente: ablebits.com

  1. A continuación, pulse el botón » Run » para fusionar.
merger-excel-file
  1. A continuación, seleccione los archivos Excel que desea fusionar. A continuación, haga clic en «Open».
excel-dialog
  1. Espere a que finalice el proceso.
merger-excel-end

Artículos más recientes