¿Trabajas frecuentemente con múltiples archivos de Excel y necesitas combinarlos en un solo documento? El proceso de fusionar archivos de Excel se ha convertido en una necesidad esencial para profesionales que manejan informes mensuales, datos de ventas regionales o consolidación de datos financieros. Con el método correcto, esta tarea puede completarse de manera rápida y eficiente.
Como profesional, es posible que enfrentes situaciones donde necesites combinar informes diarios en un reporte mensual. O tal vez necesites consolidar datos de ventas de varias regiones en un archivo centralizado. Este proceso de combinar archivos de Excel puede presentar sus propios desafíos, especialmente cuando la cantidad de archivos a fusionar es considerable.
En realidad existen varios métodos para realizar la combinación de archivos de Excel. Para una pequeña cantidad de archivos, puedes usar métodos manuales como copiar y pegar o la función Mover/Copiar Hoja. Sin embargo, los métodos manuales consumen tiempo y son propensos a errores. Por lo tanto, para eficiencia temporal y precisión de datos, usar Macro VBA se convierte en la mejor solución.
Ventajas de Usar Macro VBA para Combinar Archivos de Excel
Macro VBA ofrece varias ventajas significativas en el proceso de consolidación de datos. Primero, el proceso automatizado ahorra tiempo drásticamente. Segundo, reduce el riesgo de error humano que frecuentemente ocurre con métodos manuales. Tercero, puedes personalizar el script según necesidades específicas.
Pasos para fusionar archivos de Excel con VBA
- Abre un nuevo archivo de Excel como ubicación de consolidación
- Presiona la combinación de teclas Alt + F11 para abrir el Editor de Visual Basic
- En la ventana del Editor VBA, haz clic en ThisWorkbook > Insertar > Módulo

- Copia el siguiente script de VBA en el módulo
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 SubFuente: Ablebits.com
- Haz clic en el botón Ejecutar o presiona F5 para ejecutar la macro

- Selecciona todos los archivos de Excel que quieras combinar, luego haz clic en Abrir

- Espera a que el proceso finalice hasta que aparezca la notificación de completado


