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.
- Verifique se você já possui a guia Desenvolvedor habilitada, conforme imagem abaixo:
- 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.
- A opção marcada já será Personalizar Faixa de Opções, então em Guias Principais selecione Desenvolvedor.
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.
- Abra um novo arquivo Excel, pode pressionar CTRL+o para isso.
- Clique na guia Desenvolvedor e no botão Visual Basic, é o primeiro botão da guia.
- Na tela que segue clique em Inserir->Módulo. Importante, veja se você está na pasta de trabalho correta.
- 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- Descompacte o arquivo do download e extraia para um lugar no seu computador.
- 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.
- Clique na guia Desenvolvedor->Macros e na tela seguinte selecione lsUnificarPlanilhas esta macro irá usar o VBA para juntar vários arquivos Excel.
- Clique no botão Executar
- 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.
- 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.
- 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: