Compartilhar Macros do VBA entre Arquivos no Excel

Veja como compartilhar macros do VBA entre arquivos no Excel passo-a-passo com imagens e detalhes passo-a-passo.

1. Introdução Como Compartilhar Macros VBA entre Arquivos

Quando trabalhamos com VBA no Excel podemos com bastante frequência reutilizar os códigos criados entre projetos diferentes: funções, rotinas etc. Imaginemos, por exemplo, uma rotina em VBA que use estrutura de repetição e retorne o último valor preenchido em uma certa coluna. Projetos distintos podem reutilizar esta rotina com alguma facilidade, evitando que a macro seja reescrita e até mesmo tenha suas instruções (texto puro) copiadas e coladas entre pastas de trabalho diferentes.

Embora esta seja uma alternativa válida, este artigo propõe duas maneiras de compartilhar códigos em VBA, baseadas nos módulos em que estas instruções estão contidas. Usaremos o VBE – Visual Basic Editor – para realizar as ações.

P.S: use o atalho ALT + F11 para acessar o VBE ou acesse a guia Desenvolvedor e no grupo Código acesse o comando Visual Basic.

2. Métodos

2.1 Movendo um módulo entre pastas de trabalho

Observe a imagem a seguir do VBE, contendo 2 pastas de trabalho em edição:

compartilhar macros vba entre arquivos 1

Note que a 2ª pasta de trabalho contém um módulo, nomeado com “rotina”, enquanto a 1ª pasta de trabalho não possui ainda módulo.

A boa notícia é que a partir de 2 pastas de trabalho abertas podemos simplesmente clicar no módulo desejado (a ser copiado) e arrastá-lo para o outro arquivo. Simples assim.

compartilhar macros vba entre arquivos 2

Desta forma, este módulo agora está presente em ambas as pastas de trabalho.

2.2 Exportando e Importando Módulos para Compartilhar Macros VBA Entre Arquivos

Outra forma bastante interessante que dispensa a necessidade de uma pasta de trabalho “doadora” é a exportação e importação dos módulos. Esta opção é abrangente porque um módulo exportado nada mais é do que um arquivo .bas (texto) e pode ser posteriormente importado para diversas pastas de trabalho.

O primeiro passo então é exportar o módulo desejado, gerando um arquivo .bas. Para tanto, basta clicar com o botão secundário no módulo desejado, escolhendo em seguida a opção Exportar arquivo.

compartilhar macros vba entre arquivos 3

Uma janela do Windows explorer será exibida para que o arquivo seja salvo. Nesta etapa, o nome e o local devem ser definidos para o arquivo a exportar.

compartilhar macros vba entre arquivos 4

Ao confirmar em Salvar, o arquivo .bas do referido módulo será disponibilizado.

Dada a existência do módulo exportado, ele pode ser importado para compor e ser utilizado em outras pastas de trabalho. Para isto, acesse o VBE com a pasta de trabalho que receberá o módulo através de importação aberta. Em seguida, identifique as planilhas da pasta de trabalho (worksheets), o objeto workbook ou ainda a pasta de trabalho (estes objetos estão destacados com as setas em vermelho). Se já houver módulo, poderá ser também utilizado.

Clique com o botão secundário do mouse em quaisquer um deles e escolha a opção Importar arquivo.

Uma janela do Windows explorer será exibida para que o arquivo seja localizado a fim de ser importado.

Após confirmar a importação ao clicar em Abrir, o módulo será então incorporado ao projeto.

Nota: pastas de trabalho com instruções VBA devem ser salvas em formatos que permitam a execução de macros, como .xlsm e .xlsb.


Jardiel Euflázio

Administrador, MOS e MOSE em MS Excel, Jardiel é também MCT e desenvolvedor de soluções baseadas na ferramenta. Apaixonado pelo Excel desde cedo, é criador de conteúdo em seu canal de vídeos aberto ao público no YouTube (Jardiel Euflázio - Excel Prime), no qual trata sobre o tema sempre disposto a colaborar com a comunidade.

Excel não precisa ser complicado

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