Guia do Excel

Consolidação de dados em Excel VBA - União de dados em Excel VBA

Planilha Excel VBA para a consolidação, união de dados de várias planilhas de forma automática. Muito útil para unir dados de filiais.

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 16 de agosto de 2012 2 min de leitura

Consolidação de dados em Excel VBA - União de dados em Excel VBA

Objetivo: Esta planilha realiza a consolidação de dados de várias planilhas a partir de uma configuração inicial. Muito útil para unir dados de filiais.

É muito comum a necessidade de unir dados de várias planilhas, principalmente quando trabalhamos em empresas com filiais.

Estas informações normalmente tem que ser consolidadas manualmente frequentemente o que gera um bom trabalho.

Nesta planilha automatizada com o uso de Excel VBA você tem um modo de como fazer com que estes dados sejam unidos automaticamente.

Como configurar

Para configurar a planilha altere os dados da planilha:

Caminho: Digite o caminho completo do arquivo, incluindo a extensão

Planilha: Digite o nome da planilha se for apenas uma planilha do arquivo, se forem todas as planilhas do arquivo que devam ser unidas, não digite nada neste campo

Coluna final: Digite a coluna até qual a planilha Excel deverá realizar a união dos dados.

Altere também na planilha Consolidado o nome dos campos conforme as planilhas que você irá unir.

Assim que forem realizadas todas as alterações necessárias uma única vez, basta você clicar no botão que a planilha irá realizar a consolidação de todos os dados no Excel.

Código VBA Excel

Abaixo o código VBA utilizado nesta planilha.

Sub lsConsolidarPlanilhas()
    Dim lWorkbook           As Workbooks
    Dim lWorksheet          As Worksheet
    Dim lUltimaLinhaAtiva   As Long
    Dim lControle           As Long
    Dim lUltimaLinhaAtiva2  As Long
    Dim lUltimaLinhaAtiva3  As Long
    
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    Worksheets("Consolidado").Select
    Worksheets("Consolidado").Range("A2:G1000000").Select
    Selection.ClearContents
    
    
    lUltimaLinhaAtiva = Worksheets("Configuração").Cells(Worksheets("Configuração").Rows.Count, 1).End(xlUp).Row
    lControle = 2
    
    While lControle <= lUltimaLinhaAtiva
        Workbooks.Open Filename:=Worksheets("Configuração").Range("A" & lControle).Value
            
        Set lworkbooks = ActiveWorkbook
            
        For Each lWorksheet In lworkbooks.Worksheets
            If (lWorksheet.Name = Workbooks("Consolidado.xlsm").Worksheets("Configuração").Range("B" & lControle).Value Or _
                Workbooks("Consolidado.xlsm").Worksheets("Configuração").Range("B" & lControle).Value = "") Then
                
                Workbooks(lworkbooks.Name).Worksheets(lWorksheet.Name).Activate
                lUltimaLinhaAtiva2 = Worksheets(lWorksheet.Name).Cells(Worksheets(lWorksheet.Name).Rows.Count, 1).End(xlUp).Row
                lWorksheet.Select
                lWorksheet.Range("A2:" & Workbooks("Consolidado.xlsm").Worksheets("Configuração").Range("C" & lControle).Value & lUltimaLinhaAtiva2).Select
                Selection.Copy
                
                lUltimaLinhaAtiva3 = Workbooks("Consolidado.xlsm").Worksheets("Consolidado").Cells(Workbooks("Consolidado.xlsm").Worksheets("Consolidado").Rows.Count, 1).End(xlUp).Row + 1
                Workbooks("Consolidado.xlsm").Worksheets("Consolidado").Activate
                Workbooks("Consolidado.xlsm").Worksheets("Consolidado").Range("A" & lUltimaLinhaAtiva3).Select
                Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                    :=False, Transpose:=False
            End If
        Next lWorksheet
        
        Workbooks(lworkbooks.Name).Close
        
        lControle = lControle + 1
    Wend
    
    Worksheets("Configuração").Select
    Worksheets("Configuração").Range("A1").Select
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    MsgBox "Planilhas consolidadas!"
        
End Sub
Material gratuito

Planilha de Controle Financeiro no Excel

Tenha um controle bonito e completo do seu financeiro.

  • Categorias e subcategorias já configuradas
  • Planilhas separadas por tabela (configuração, lançamentos, resumo)
  • Personalize com suas próprias categorias e ícones

Baixe grátis — receba o link no seu e-mail

Download — baixe aqui: Consolidação de dados 2
Consolidação de dados 2190 KB · Excel 2010 ou superior · com macrosPreencha seus dados para receber o link de download no seu e-mail.

A planilha principal é a Consolidado.xlsm, as outras em anexo são para você usar como exemplo, não esqueça de salvá-las no seu computador e configurar o local aonde foram salvas.

Abraço

Marcos Rieper

Este conteúdo foi útil?

Continue lendo