Combinar Archivos Excel con VBA: Tutorial Práctico

Advertisement

¿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.

Advertisement

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.

Advertisement

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

  1. Abre un nuevo archivo de Excel como ubicación de consolidación
  2. Presiona la combinación de teclas Alt + F11 para abrir el Editor de Visual Basic
  3. En la ventana del Editor VBA, haz clic en ThisWorkbook > Insertar > Módulo
interfaz del editor de visual basic para combinar archivos de excel
Interfaz del Editor de Visual Basic en Excel
  1. 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 Sub

Fuente: Ablebits.com

  1. Haz clic en el botón Ejecutar o presiona F5 para ejecutar la macro
botón ejecutar macro para combinar archivos de excel
Botón Ejecutar para Ejecutar Script VBA
  1. Selecciona todos los archivos de Excel que quieras combinar, luego haz clic en Abrir
cuadro de diálogo de selección de archivos de excel
Diálogo de Selección de Múltiples Archivos de Excel
  1. Espera a que el proceso finalice hasta que aparezca la notificación de completado
resultado exitoso de combinación de archivos de excel
Notificación de Éxito Después del Proceso de Combinación

Artículos Recientes