O Excel VBA é parte integrante da automação do Excel, e o uso e os benefícios do VBA não podem ser prejudicados. Se você estiver em uma batalha difícil tentando consolidar várias planilhas e pastas de trabalho no Excel, estamos aqui para ajudar.

As macros mencionadas neste guia ajudarão você a realizar a tarefa aparentemente intransponível em questão de segundos (ou minutos, se os ativos de dados forem grandes).

Seguindo este tutorial, você criará sua própria macro VBA no Excel e mesclará com eficiência várias planilhas em um único arquivo.

Mesclando várias planilhas do Excel em um arquivo

Para esta tarefa, os dados são armazenados nas seguintes planilhas:

  • Folha1
  • Folha2
  • Folha 3

Os nomes das folhas listados acima são apenas para fins ilustrativos. Essa macro VBA é genérica e não depende dos nomes das planilhas; você pode personalizar o código para usá-lo com qualquer nome de planilha.

Pré-requisitos para executar o código

Existem alguns pré-requisitos para executar o código VBA listado abaixo.

instagram viewer

Você precisa armazenar o código de macro em um novo arquivo do Excel. Salve esta pasta de trabalho com um .xlsm extensão. Você pode salvar a pasta de trabalho da macro VBA com qualquer nome.

Abra um novo arquivo do Excel; pressione Alt + F11 no seu teclado para abrir o editor Excel VBA. Quando o editor abrir, adicione um novo módulo de código clicando no botão Inserir aba na parte superior. Selecionar Módulo inserir um novo módulo; é aqui que você inserirá o código de macro VBA fornecido abaixo.

As folhas de dados a serem consolidadas devem estar em outra pasta de trabalho separada. O nome da pasta de trabalho e das planilhas pode ser o que você escolher.

Assim que você executar o código VBA, a macro VBA percorrerá cada planilha disponível no pasta de trabalho primária (pasta de trabalho de dados) e cole o conteúdo em uma planilha recém-adicionada na mesma pasta de trabalho.

Os dados consolidados estarão disponíveis na planilha denominada Consolidado.

Executando o código VBA

É hora de executar o código de macro recém-salvo. Copie e cole este código no módulo do editor VBA:

Sub consolidar_shts()
'declara as variaveis usadas dentro do codigo e os tipos de dados vba
Dim sht As Worksheet, sht1 As Worksheet, lastrow As Integer, lastrow1 As Integer
'desabilitar a tela piscando e alertar pop-ups durante a execução
Com Aplicativo
.ScreenUpdating = False
.DisplayAlerts = False
Terminar com
'armazena o nome da pasta de trabalho primária em uma variável de macro. Substitua Test.xlsx pelo nome da sua pasta de trabalho principal
Set wbk1 = Workbooks("Test.xlsx")
'ativa a pasta de trabalho antes de executar a(s) função(ões) nela
wbk1. Ativar
'executa um loop vba for para verificar se já existe uma planilha Consolidated. Se existir, o loop for o excluirá.
Para cada sht em wbk1.Sheets
Se sht. Nome = "Consolidado" Então sht. Excluir
Próxima parada
'Adicionar uma nova planilha para armazenar os dados recém consolidados
Fichas de trabalho. Adicionar. Nome = "Consolidado"
'Adiciona alguns cabeçalhos a cada coluna individual dentro da planilha consolidada
Com Planilhas("Consolidado")
.Range("a1").Value = "OrderDate"
.Range("b1").Value = "Região"
.Range("c1").Value = "Rep"
.Range("d1").Value = "Item"
.Range("e1").Value = "Unidades"
.Range("f1").Value = "UnitCost"
.Range("g1").Value = "Total"

Terminar com
'A planilha recém-criada consolidada conterá os dados consolidados de cada planilha individual na pasta de trabalho principal

Para i = 1 Para wbk1.Worksheets. Contar
Se Planilhas (i).Nome <> "Consolidado" Então
'Captura a última linha preenchida das planilhas de dados na pasta de trabalho
lastrow = Sheets (i).Range("a1").End (xlDown).Row
'Captura a última linha preenchida na planilha Consolidada
lastrow1 = wbk1.Sheets("Consolidado").Range("a1048576").End (xlUp).Row + 1

'Copia os dados da planilha de origem e cola na planilha consolidada
Sheets (i).Range("a2:g" & lastrow).Copy Destination:=Sheets("Consolidated").Range("a" & lastrow1)
Fim se
Proximo eu
'Habilitar funções Excel VBA para uso futuro
Com Aplicativo
.ScreenUpdating = Verdadeiro
.DisplayAlerts = Verdadeiro
Terminar com

Finalizar Sub

O código VBA explicado

Primeiro, declare todas as variáveis ​​que você está usando no código e atribua-as com os tipos de dados VBA corretos para que o código funcione perfeitamente.

Depois de declarar as variáveis, algumas tarefas básicas são necessárias. Isso é feito desativando a oscilação da tela e suprimindo alertas pop-up. Por exemplo, quando você exclui uma planilha existente usando o código VBA, um prompt no Excel solicita confirmação antes de excluir a planilha. Prompts como este são suprimidos para aumentar a velocidade de execução.

Na próxima etapa, você precisa definir o nome da pasta de trabalho, que contém todos os seus dados. Substituir Teste.xlsx com o nome e a extensão do nome da sua pasta de trabalho. Certifique-se de colocar o nome entre aspas.

Ative a pasta de trabalho principal e exclua todas as planilhas existentes com o nome Consolidado para eliminar quaisquer dados armazenados anteriormente. O código VBA alterna entre cada planilha e, assim que encontra o nome da planilha Consolidado ele vai deletar. Isso é feito usando o Instrução VBA SE, que verifica as condições lógicas e exclui a planilha assim que a condição for atendida.

Uma nova planilha é adicionada à pasta de trabalho principal para armazenar os dados consolidados. Subsequentemente, cabeçalhos padronizados e pré-formatados são adicionados a esta folha. Você pode alterar os valores dos títulos (cabeçalhos de coluna) atualizando as informações ao lado das referências de célula entre aspas.

Por exemplo: .Range(“a1”) = “OrderDate” pode ser substituído por .Range(“a1”) = “Número do Pedido”

Em seguida, um loop VBA FOR alterna entre cada planilha, copia o conteúdo da planilha e cola o conteúdo no Consolidado planilha antes de passar para a próxima planilha na pasta de trabalho. Esse processo se repete até que todas as folhas sejam copiadas.

Durante esse processo, todas as linhas são calculadas automaticamente e coladas na planilha Consolidada. A última linha preenchida é calculada automaticamente antes que os dados sejam colados. A macro é dinâmica e pode se ajustar a várias linhas de dados em cada planilha.

Relacionado: Recursos avançados do Microsoft Excel que você deve conhecer

Depois que os dados de todas as planilhas são colados na planilha de consolidação principal, a macro se move para a parte final do código. As funções VBA inicialmente desabilitadas são habilitadas novamente para uso futuro.

Consolidando várias planilhas usando a macro VBA do Excel

Excel VBA é uma linguagem de programação supérflua, que funciona bem com todos os componentes do Excel. Cada pedaço de código é essencial, e é importante lembrar que a execução depende de um sistema de execução linha por linha, portanto, você não deve alterar a ordem das linhas de código.

Para personalizar o código de acordo com seus requisitos, você pode fazer as alterações necessárias e executar esse código para consolidar os dados com eficiência e eficácia em segundos.

5 macros legais do Microsoft Excel para classificar dados

Facilite o gerenciamento de dados com essas macros do Excel.

Leia a seguir

CompartilhadoTweetE-mail
Tópicos relacionados
  • Programação
  • Microsoft Excel
  • Macros
  • Programação
Sobre o autor
Gaurav Siyal (21 artigos publicados)

Gaurav Siyal tem dois anos de experiência em redação, escrevendo para uma série de empresas de marketing digital e documentos de ciclo de vida de software.

Mais de Gaurav Siyal

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar