Combinar Arquivos Excel com VBA: Tutorial Prático

Advertisement

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.

Advertisement

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

  1. Abra um novo arquivo do Excel como local de consolidação
  2. Pressione a combinação de teclas Alt + F11 para abrir o Editor do Visual Basic
  3. Na janela do Editor VBA, clique em ThisWorkbook > Inserir > Módulo
interface do editor visual basic para combinar arquivos do excel
Interface do Editor do Visual Basic no Excel
  1. 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 Sub

Fonte: Ablebits.com

  1. Clique no botão Executar ou pressione F5 para executar a macro
botão executar macro para combinar arquivos do excel
Botão Executar para Executar Script VBA
  1. Selecione todos os arquivos do Excel que deseja combinar, depois clique em Abrir
caixa de diálogo de seleção de arquivos do excel
Diálogo de Seleção de Múltiplos Arquivos do Excel
  1. Aguarde o processo até que a notificação de conclusão apareça
resultado bem-sucedido da combinação de arquivos do excel
Notificação de Sucesso Após o Processo de Combinação
Advertisement

Latest Articles