Consolidar: Várias Guias em uma Única - com VBA
Recebi um e-mail de um amigo a quem não vejo há um bom tempo: Nadir Bassegio. O mesmo solicitou o desenvolvimento de uma solução para uma necessidade sua. A seguir, a questão levantada no e-mail que recebi:
Para ajudar meu amigo Nadir e também outras pessoas que talvez precisem de uma solução igual ou parecida, resolvi escrever esta postagem que trata do assunto.
Conforme a figura ao lado, estarei utilizando 3 planilhas (Plan1, Plan2 e Plan3).
As informações contidas nestas planilhas serão todas consolidadas na planilha Consolidado.
1ª linha: limpa a área na planilha 1 (Consolidados) para garantir que não haja dados inseridos anteriormente.
2ª linha: com a variável 'plans', faz uma contagem da quantidade de planilhas existente na pasta (em nosso exemplo há 4 planilhas).
A instrução 'For...Next' faz uma repetição do grupo de instruções um número específico de vezes.
Em nosso caso, fará a repetição das instruções (que estão entre For...Next) por três vezes. A instrução 'For n = 2 to plans' faz 3 repetições das instruções pois inicia em 2 até atingir a valor da variável plans que é igual a 4 (quantidade de planilhas da pasta de trabalho).
As instruções que são repetidas (por 3 vezes em 'For...Next') em todas as linhas com as informações (até encontrar uma célula vazia na coluna 'A') de cada planilha incluindo as mesmas na planilha Consolidados (Sheets(1)).
A quantidade de planilhas (guias) pode ser variável desde que tenham o mesmo número de colunas com os mesmos tipos de informação em cada coluna. Isso ocorre porque, como vimos, a variável 'plans' fará a contagem da quantidade de planilhas existentes na pasta de trabalho e as instruções serão repetidas o número de vezes até atingirem esta quantidade.
Espero ter sido claro e espero que esta postagem possa estar respondendo a questão mencionada.
Se desejarem divulgar a seus amigos, fique a vontade e eu ficarei grato pois, muitos podem estar precisando desta solução ou algo parecido que pode ser atendido com algum ajuste.
Até a próxima postagem!
Ivair Claudio Ferrari