Você trabalha frequentemente com vários arquivos do Excel e precisa combiná-los em um único documento? O processo de combinar arquivos do Excel tornou-se uma necessidade essencial para profissionais que lidam com relatórios mensais, dados de vendas regionais ou consolidação de dados financeiros. Com o método correto, essa tarefa pode ser concluída de forma rápida e eficiente.
Como profissional, você pode enfrentar situações onde precisa combinar relatórios diários em um relatório mensal. Ou talvez precise consolidar dados de vendas de várias regiões em um arquivo centralizado. Este processo de combinar arquivos do Excel pode apresentar seus próprios desafios, especialmente quando o número de arquivos para combinar é considerável.
Na realidade existem vários métodos para realizar a combinação de arquivos do Excel. Para uma pequena quantidade de arquivos, você pode usar métodos manuais como copiar e colar ou a função Mover/Copiar Planilha. Entretanto, métodos manuais consomem tempo e são propensos a erros. Portanto, para eficiência temporal e precisão de dados, usar Macro VBA torna-se a melhor solução.
Vantagens de Usar Macro VBA para Combinar Arquivos do Excel
O Macro VBA oferece várias vantagens significativas no processo de consolidação de dados. Primeiro, o processo automatizado economiza tempo drasticamente. Segundo, reduz o risco de erro humano que frequentemente ocorre com métodos manuais. Terceiro, você pode personalizar o script de acordo com necessidades específicas.
Passos para mesclar arquivos do Excel com VBA
- Abra um novo arquivo do Excel como local de consolidação
- Pressione a combinação de teclas Alt + F11 para abrir o Editor do Visual Basic
- Na janela do Editor VBA, clique em ThisWorkbook > Inserir > Módulo

- Copie o seguinte script VBA para o 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 SubFonte: Ablebits.com
- Clique no botão Executar ou pressione F5 para executar a macro

- Selecione todos os arquivos do Excel que deseja combinar, depois clique em Abrir

- Aguarde o processo até que a notificação de conclusão apareça


