Guia do Excel

Unir planilhas Excel com VBA

Neste artigo é demonstrado como unificar dados de planilhas Excel com o uso de VBA. O exemplo é bastante passo-a-passo e simples de implementar.

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 05 de julho de 2015 3 min de leitura

Unir planilhas Excel com VBA

Unificar planilhas Excel com VBA

Neste artigo apresentaremos um código VBA Excel que realiza a unificação de planilhas.

Imagine a seguinte situação. Você tem várias pastas de trabalho Excel preenchidas por diversos usuários, ou ainda vieram dezenas de arquivos referentes á um mês de processamento de arquivos de um determinado fornecedor e você gostaria de uni-los para analisá-los.

Este código VBA Excel realiza a unificação das planilhas que estiverem abertas em um único arquivo informado no início do processo.

Abaixo o processo como funciona:

1. Copie o código VBA e adicione á sua pasta Personal. Veja aqui como realizar esta tarefa: Habilitando a guia desenvolvedor e copiando códigos VBA da internet.

'UnificarPlanilhas Macro
Sub lsUnificarPlanilhas()

  Dim Message As String
  Dim Title As String
  Dim Default As String
  Dim MyValue As String
  Dim wb As Workbook
  Dim lUltimaColunaAtiva As Long
  Dim lUltimaLinhaAtiva As Long
  Dim lRng As Range
  
  Message = "Informe o nome da Planilha de Destino"
  Title = "Unificar Planilhas"
  Default = "1"
 
  'Solicita informação da planilha que será unificada
  PlanilhaDestino = InputBox(Message, Title, Padrão)
  If PlanilhaDestino = "" Then
     MsgBox "Planilha não informada, a macro será Finalizada!"
     Exit Sub
  End If
 
  'Verificar se o arquivo existe
  For i = 1 To Workbooks.Count
      If Workbooks(i).Name = PlanilhaDestino Then
          Exit For
      Else
        If i = Workbooks.Count Then
          MsgBox "Planilha Destino não Encontrada, a macro será Finalizada!"
          Exit Sub
        End If
      
      End If
  Next i
  
  'Colar os dados selecinoados
  For i = 1 To Workbooks.Count
       If Workbooks(i).Name <> "PERSONAL.XLSB" And Workbooks(i).Name <> PlanilhaDestino Then
            Workbooks(Workbooks(i).Name).Worksheets(1).Activate
            
            lUltimaLinhaAtiva = Cells(Rows.Count, 1).End(xlUp).Row
            lUltimaColunaAtiva = ActiveSheet.Cells(1, 5000).End(xlToLeft).Column
            Set lRng = Range(Cells(1, lUltimaColunaAtiva).Address)
            
            Range("A" & 2 & ":" & gfLetraColuna(lRng) & lUltimaLinhaAtiva).Select
            Selection.Copy
            
            Workbooks(PlanilhaDestino).Worksheets(1).Activate
            
            lUltimaLinhaAtiva = Cells(Rows.Count, 1).End(xlUp).Row + 1
            Range("A" & lUltimaLinhaAtiva).Select
            
            ActiveSheet.Paste
            Application.CutCopyMode = False
      End If
          
  Next i
  ' Fecha planilhas unificadas
  For Each wb In Application.Workbooks
    If wb.Name <> "PERSONAL.XLSB" And wb.Name <> PlanilhaDestino Then
        wb.Close SaveChanges:=False
    End If
  Next
 
End Sub

Function gfLetraColuna(ByVal rng As Range) As String
    Dim lTexto() As String
    
    lTexto = Split(rng.Address, "$")
    
    gfLetraColuna = lTexto(1)
End Function

2. Abra todas as planilhas que gostaria de unificar;
3. Vá na guia Desenvolvedor e no botão Macros, selecione PERSONAL.XLSB!lsUnificarPanilhas e clique em Executar;

Unificar planilhas Excel com VBA

4. Informe a planilha que receberá a união das planilhas e clique em OK;

Unificar planilhas Excel com VBA

5. Aguarde o término do processamento. Todos os dados da primeira planilha ativa de cada arquivo serão copiados e as planilhas fechadas, exceto a planilha de destino.

Unificar planilhas Excel com VBA

Se quiser pode treinar com as planilhas utilizadas neste exemplo efetuando o download no botão abaixo.

DIGITE O SEU EMAIL PARA FAZER O DOWNLOAD DOS ARQUIVOS:

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: Unir planilhas Excel com VBA
Unir planilhas Excel com VBA36 KB · Excel 2010 ou superiorPreencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Este conteúdo foi útil?

Continue lendo