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

17 de agosto de 2012 Atualizado 08 de julho de 2026 2 min de leitura
Consolidação de dados em Excel VBA - União de dados em Excel VBA

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
Download — baixe aqui: Consolidação de dados 2

Preencha 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

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado