Juntar planilhas Excel em uma só

Juntar planilhas Excel em uma só

Uma solução para juntar planilhas em uma só, com ela você poderá consolidar planilhas Excel com VBA, fazendo com que os dados de todas as planilhas sejam colocados em apenas uma. Planilhas Excel VBA.

Um problema recorrente que vejo nas empresas é a necessidade de unir várias planilhas Excel em uma só.

Isso acontece por inúmeros motivos, como por exemplo unir as planilhas que foram preenchidas em várias filiais, ou unir os dados de relatórios de vendas de vários vendedores ou de uma fonte de dados que você localizou na internet, etc.

A boa notícia é que você poderá fazer isso com apenas um clique usando este simples tutorial.

Caso você não queira fazer todo o passo-a-passo você pode fazer o download e usar o artigo para entender o que foi feito. Neste caso vá diretamente para Juntar planilhas Excel em uma só.

Habilitar a guia Desenvolvedor

Para juntar as planilhas em uma só o primeiro passo é habilitar a guia Desenvolvedor do Excel, pois iremos usar um código VBA para realizar esta tarefa.

Siga os passos abaixo caso não tenha esta guia habilitada, ou siga para o próximo tópico caso já tenha ela.

  1. Verifique se você já possui a guia Desenvolvedor habilitada, conforme imagem abaixo:
    Juntar planilhas Excel em uma só 2
  2. Caso ela não esteja habilitada, clique com o botão direito sobre qualquer parte cinza da faixa de opções e clique na opção Personalizar a Faixa de Opções.
  3. A opção marcada já será Personalizar Faixa de Opções, então em Guias Principais selecione Desenvolvedor.
    Habilitar guia desenvolvedor Excel

Copiando o código para consolidar planilhas

  Nesta etapa você irá copiar e colar o código fonte na planilha aonde você quiser consolidar os dados das outras planilhas.

  Este código fonte faz a busca por todas as pastas de trabalho, arquivos Excel, que houverem na pasta que você selecionar e abre cada uma das planilhas e as une, independente da quantidade de colunas e linhas inclusive.

  1. Abra um novo arquivo Excel, pode pressionar CTRL+o para isso.
  2. Clique na guia Desenvolvedor e no botão Visual Basic, é o primeiro botão da guia.
  3. Na tela que segue clique em Inserir->Módulo. Importante, veja se você está na pasta de trabalho correta.
    Juntar planilhas Excel em uma só 4
  4. Clique duas vezes no Módulo1 que foi criado e cole o código abaixo:
'UnificarPlanilhas Macro
Sub lsUnificarPlanilhas()
    On Error GoTo Sair

  Dim lUltimaColunaAtiva As Long
  Dim lUltimaLinhaAtiva As Long
  Dim lRng As Range
  Dim sPath As String
  Dim fName As String
  Dim lNomeWB As String
  Dim lIPlan As Integer
  Dim lUltimaLinhaPlanDestino As Long
   
  PlanilhaDestino = ThisWorkbook.Name
 
  sPath = Localizar_Caminho
 
  sName = Dir(sPath & "\*.xl*")
 
  Application.ScreenUpdating = False
  Application.EnableEvents = False
  Application.Calculation = xlCalculationManual
   
  Do While sName <> ""
        fName = sPath & "\" & sName
        Workbooks.Open Filename:=fName, UpdateLinks:=False
        
        lNomeWB = ActiveWorkbook.Name
        
        For lIPlan = 1 To ActiveWorkbook.Sheets.Count
            Workbooks(lNomeWB).Worksheets(lIPlan).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" & 1 & ":" & gfLetraColuna(lRng) & lUltimaLinhaAtiva).Select
            Selection.Copy
            
            Workbooks(PlanilhaDestino).Worksheets(1).Activate
            
            lUltimaLinhaPlanDestino = Cells(Rows.Count, 1).End(xlUp).Row
            
            If lUltimaLinhaPlanDestino > 1 Then
                lUltimaLinhaPlanDestino = Cells(Rows.Count, 1).End(xlUp).Row + 1
            End If
            
            Range("A" & lUltimaLinhaPlanDestino).Select
            
            ActiveSheet.Paste
            Application.CutCopyMode = False
        Next lIPlan
        
        Workbooks(lNomeWB).Close SaveChanges:=False
        sName = Dir()
  Loop
  
  MsgBox "Planilhas unificadas!"

Sair:
  Application.ScreenUpdating = True
  Application.EnableEvents = True
  Application.Calculation = xlCalculationAutomatic
End Sub

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

Public Function Localizar_Caminho() As String

    Dim strCaminho As String
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        
        'Permitir mais de uma pasta
        .AllowMultiSelect = False
        
        'Mostrar janela
        .Show
        
        If .SelectedItems.Count > 0 Then
            strCaminho = .SelectedItems(1)
        End If
    
    End With
    
    'Atribuir caminho a variável
    Localizar_Caminho = strCaminho

End Function

5. Feche o VBA

6. Salve o seu arquivo como Pasta de trabalho Habilitada para Macro do Excel.

Juntar planilhas Excel em uma Só

  Agora iremos testar a aplicação, você pode usar o seu arquivo que acabou de criar ou fazer o download da planilha pronta e seguir o passo-a-passo seguinte.

Baixe a planilha
  1. Descompacte o arquivo do download e extraia para um lugar no seu computador.
  2. Há um arquivo que é o Planilha teste unificar e a pasta Planilhas a unir. O arquivo é o arquivo que receberá os dados das pastas de trabalhos e a pasta Planilhas a unir são as pastas de trabalho que desejamos juntar.
  3. Clique na guia Desenvolvedor->Macros e na tela seguinte selecione lsUnificarPlanilhas esta macro irá usar o VBA para juntar vários arquivos Excel.
  4. Clique no botão Executar
  5. Na tela que segue selecione o local aonde estão suas pastas de trabalho a unir, no  nosso caso é a pasta Planilhas a unir. Nela temos vários arquivos com tamanhos diferentes e que serão unidos rapidamente pelo Excel.
    Juntar planilhas Excel em uma só
  6. Pronto, todos os dados foram unidos. No caso do nosso exemplo temos informações até a coluna S nos arquivos da pasta, mas o Excel irá juntar as planilhas independente da quantidade de colunas que cada arquivo tiver.
  7. Caso você tenha penas um arquivo com várias planilhas o processo é o mesmo, apenas selecione a pasta aonde o mesmo está e processe o código VBA para unir todas as planilhas em uma só.

Veja mais neste artigo [Excel] Auto completar e lista automática – Planilha de Promoções

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:


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel