Skip to main content

Como Salvar e Usar Suas Macros VBA em Todas as Pastas de Trabalho no Excel?

Author: Zhoumandy Last Modified: 2025-07-21

Há muitas situações em que você pode precisar usar a mesma macro VBA repetidamente em diferentes pastas de trabalho do Excel para tarefas como automatizar cálculos repetitivos, formatação de dados ou funções personalizadas, como converter números em palavras. Um desafio comum é que, por padrão, as macros são armazenadas apenas na pasta de trabalho onde foram criadas, o que significa que você não pode acessá-las ou reutilizá-las facilmente em novos documentos. No entanto, o Excel oferece vários métodos flexíveis para tornar uma macro VBA disponível globalmente, eliminando a necessidade de recopiar o código toda vez que iniciar uma nova pasta de trabalho. Este tutorial fornece instruções abrangentes para várias abordagens, garantindo que suas macros VBA estejam facilmente acessíveis em todas as pastas de trabalho, melhorando sua produtividade e fluxo de trabalho.

A screenshot showing the Add-ins dialog in Excel

Salvar e Usar o Código VBA em Todas as Pastas de Trabalho
Método da Pasta de Trabalho de Macro Pessoal


Salvar e Usar o Código VBA em Todas as Pastas de Trabalho

Por exemplo, suponha que você queira ser capaz de converter números em suas palavras equivalentes em inglês usando um código VBA personalizado e garantir que esse recurso esteja sempre disponível, independentemente da pasta de trabalho em que está trabalhando. Com a abordagem correta, você pode salvar seus módulos VBA para que eles possam ser reutilizados sempre que necessário no Excel. Isso é especialmente útil para funções personalizadas ou automações que você deseja acessar sempre, sem duplicar o código em vários arquivos.

Para fazer isso, você pode empacotar seu código VBA como um Suplemento Personalizado do Excel. Esse suplemento pode ser habilitado no Excel e exporá sua funcionalidade personalizada como uma função disponível globalmente.

Siga estes passos:

1. Pressione Alt + F11 no Excel para abrir a janela "Microsoft Visual Basic for Applications".

2. No editor VBA, clique em Inserir > Módulo e cole a seguinte macro na janela Módulo recém-criada.

Código VBA: Converter números em palavras

Function NumberstoWords(ByVal MyNumber)
'Update by ExtendofficeDim xStr As StringDim xFNum As IntegerDim xStrPointDim xStrNumberDim xPoint As StringDim xNumber As StringDim xP() As VariantDim xDPDim xCnt As IntegerDim xResult, xT As StringDim xLen As IntegerOn Error Resume NextxP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP >0 ThenxPoint = " point "
xStr = Mid(xNumber, xDP +1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum =1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum,1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNumxNumber = Trim(Left(xNumber, xDP -1))
End IfxCnt =0xResult = ""
xT = ""
xLen =0xLen = Int(Len(Str(xNumber)) /3)
If (Len(Str(xNumber)) Mod3) =0 Then xLen = xLen -1Do While xNumber <> ""
If xLen = xCnt ThenxT = GetHundredsDigits(Right(xNumber,3), False)
ElseIf xCnt =0 ThenxT = GetHundredsDigits(Right(xNumber,3), True)
ElsexT = GetHundredsDigits(Right(xNumber,3), False)
End IfEnd IfIf xT <> "" ThenxResult = xT & xP(xCnt) & xResultEnd IfIf Len(xNumber) >3 ThenxNumber = Left(xNumber, Len(xNumber) -3)
ElsexNumber = ""
End IfxCnt = xCnt +1LoopxResult = xResult & xPointNumberstoWords = xResultEnd FunctionFunction GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As StringDim xStrNum As StringDim xStr As StringDim xI As IntegerDim xBB As BooleanxStrNum = xHDgtxRStr = ""
On Error Resume NextxBB = TrueIf Val(xStrNum) =0 Then Exit FunctionxStrNum = Right("000" & xStrNum,3)
xStr = Mid(xStrNum,1,1)
If xStr <> "0" ThenxRStr = GetDigits(Mid(xStrNum,1,1)) & "Hundred "
ElseIf xB ThenxRStr = "and "
xBB = FalseElsexRStr = " "
xBB = FalseEnd IfEnd IfIf Mid(xStrNum,2,2) <> "00" ThenxRStr = xRStr & GetTenDigits(Mid(xStrNum,2,2), xBB)
End IfGetHundredsDigits = xRStrEnd FunctionFunction GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As StringDim xI As IntegerDim xArr_1() As VariantDim xArr_2() As VariantDim xT As BooleanxArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = TrueOn Error Resume NextIf Val(Left(xTDgt,1)) =1 ThenxI = Val(Right(xTDgt,1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
ElsexI = Val(Left(xTDgt,1))
If Val(Left(xTDgt,1)) >1 ThenIf xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt,1)))
xT = FalseEnd IfIf xStr = "" ThenIf xB ThenxStr = "and "
End IfEnd IfIf Right(xTDgt,1) <> "0" ThenxStr = xStr & GetDigits(Right(xTDgt,1))
End IfEnd IfGetTenDigits = xStrEnd FunctionFunction GetDigits(xDgt)
Dim xStr As StringDim xArr_1() As VariantxArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume NextxStr = xArr_1(Val(xDgt))
GetDigits = xStrEnd Function

3. Agora, clique no ícone "Salvar" localizado no canto superior esquerdo da janela ou simplesmente pressione Ctrl + S para abrir a caixa de diálogo "Salvar Como".
A screenshot showing the Save option in the VBA window

4. Na janela "Salvar Como", insira o nome desejado no campo "Nome do arquivo". Para a lista suspensa "Salvar como tipo", certifique-se de selecionar Suplemento do Excel (*.xlam).
A screenshot showing the Save As dialog box with the selection of Excel Add-in (*.xlam) as the save type

5. Clique no botão "Salvar" para armazenar sua pasta de trabalho como um arquivo de Suplemento do Excel. Isso cria um suplemento reutilizável que pode ser habilitado a qualquer momento para qualquer pasta de trabalho.
A screenshot showing the workbook saved as an Excel Add-in

6. Uma vez salvo, retorne ao Excel e feche a pasta de trabalho que você acabou de converter em um Suplemento.

7. Abra uma nova ou existente pasta de trabalho onde você deseja usar sua macro. Insira a fórmula personalizada na célula apropriada (por exemplo, em B2):

=NumberstoWords(A2)
Observação: Um erro "#NOME?" pode aparecer neste estágio. Isso é esperado, já que o Suplemento com a função de macro ainda não foi carregado globalmente no Excel. Siga os passos abaixo para habilitar sua macro em todas as pastas de trabalho.
A screenshot of the #NAME? error before applying the saved VBA macro

8. Vá até a Guia Desenvolvedor e clique no botão Suplementos do Excel no grupo Suplementos.
A screenshot showing the Add-ins option under the Developer tab in Excel

9. Na caixa de diálogo Suplementos que aparece, selecione Procurar.
A screenshot of the Add-ins dialog box in Excel

10. Localize e selecione o arquivo de Suplemento que você salvou anteriormente, depois clique OK.
A screenshot showing the selection of a custom Add-in file in Excel

11. Seu Suplemento personalizado, como "Suplemento Converter Número em Palavras", agora deve aparecer na lista de Suplementos. Certifique-se de que ele esteja marcado e clique OK para habilitá-lo.
A screenshot showing the custom add-in the Add-ins dialog box in Excel

12. Agora, insira a função personalizada novamente na célula de destino (como B2) e pressione Enter. Você deverá ver a fórmula retornar as palavras corretas em inglês para o número.

=NumberstoWords(A2)

13. Para aplicar rapidamente a fórmula de conversão a vários números, arraste a alça de preenchimento automático da célula para baixo para copiar a função para outras células.

A screenshot showing the final result of the converted numbers to words

Dicas & Notas:

  • Salvar sua macro como um Suplemento permite que você use as mesmas funções personalizadas, código ou automações em todas as suas pastas de trabalho, economizando tempo e melhorando a consistência.
  • Se o Excel for fechado ou o Suplemento for desabilitado posteriormente, as funções do Suplemento podem mostrar temporariamente "#NOME?" até que o Suplemento seja carregado novamente. Para evitar confusão, certifique-se de que o Suplemento esteja sempre habilitado no gerenciador de Suplementos quando necessário.
  • Alguns usuários podem não ver a guia Desenvolvedor por padrão. Para habilitá-la, clique com o botão direito na faixa de opções, escolha "Personalizar a Faixa de Opções" e marque a opção "Desenvolvedor".
  • É uma boa prática armazenar Suplementos em uma pasta permanente para evitar referências perdidas se os arquivos forem movidos ou renomeados.

Se você preferir executar o código manualmente, isso também é possível e às vezes útil ao depurar ou para uso ad hoc:

  1. Você pode atribuir uma macro à Barra de Acesso Rápido para execução com um clique em qualquer pasta de trabalho visível. Para fazer isso, clique com o botão direito na Barra de Acesso Rápido, selecione "Personalizar Barra de Acesso Rápido" e, em seguida, adicione sua macro.
    A screenshot showing how to add the VBA macro to the Quick Access Toolbar
  2. Você também pode pressionar Alt + F11 para abrir o editor VBA, selecionar manualmente sua macro e pressionar F5 para executar o código conforme necessário.

Vantagens: Essa solução permite criar e compartilhar funcionalidades ricas e reutilizáveis de macros que funcionam sempre, desde que o Suplemento esteja habilitado.
Desvantagens: Os usuários devem lembrar de carregar o Suplemento e, ao compartilhar pastas de trabalho, também devem compartilhar o arquivo de Suplemento e os detalhes da função. Além disso, Suplementos não podem ser usados no Excel Online.


Método da Pasta de Trabalho de Macro Pessoal

Outro método altamente prático para garantir que suas macros favoritas ou mais usadas estejam prontas em cada sessão do Excel, independentemente da pasta de trabalho aberta, é usar a Pasta de Trabalho de Macro Pessoal (PERSONAL.XLSB). Este é um arquivo Excel especial oculto que é carregado automaticamente toda vez que o Excel é iniciado, permitindo que qualquer macro armazenada dentro dele seja acessível em todas as pastas de trabalho abertas.

Cenários Aplicáveis: Ideal para automação pessoal, scripts de formatação rotineiros ou funções utilitárias que você não precisa compartilhar como Suplementos formais do Excel. As macros em PERSONAL.XLSB estão disponíveis no seu computador, independentemente do arquivo aberto.

Vantagens: As macros estão disponíveis globalmente para o seu perfil local do Excel e não requerem instalação de suplementos ou arquivos extras.
Desvantagens: Macros armazenadas dessa maneira só podem ser usadas no computador e conta onde o PERSONAL.XLSB existe. Compartilhar com outros requer exportar e importar módulos manualmente.

  • Para usar esse método, primeiro você precisa gravar ou criar uma macro e garantir que ela seja salva na Pasta de Trabalho de Macro Pessoal.

Siga estes passos:

  1. Abra o Excel. Na guia Exibir, clique em Macros e depois em Gravar Macro.
  2. No diálogo, em "Armazenar macro em", selecione Pasta de Trabalho de Macro Pessoal. Complete a gravação (você pode parar imediatamente se não for necessário).
  3. Pressione Alt + F11 para entrar no editor VBA, onde você verá um projeto para PERSONAL.XLSB. Aqui, insira um novo módulo ou cole seu código de macro desejado.
  4. Salve suas alterações. O Excel cria e mantém automaticamente a pasta de trabalho PERSONAL.XLSB em sua pasta de inicialização.
  5. As macros em PERSONAL.XLSB podem então ser executadas via diálogo Macros (Alt + F8), atribuídas a botões da faixa de opções ou barra de ferramentas, ou chamadas do VBA.

Solução de Problemas & Manutenção: Se as macros em PERSONAL.XLSB não estiverem disponíveis, verifique se o Excel está abrindo no Modo Seguro ou se as configurações de segurança de macros estão definidas como “Desativar todas as macros”. Além disso, PERSONAL.XLSB é oculto por padrão; se você fechá-lo acidentalmente sem salvar ou excluí-lo, pode ser necessário gravar uma macro novamente para regenerá-lo.

Dica: Faça backup regularmente do seu arquivo PERSONAL.XLSB. Você pode encontrá-lo na pasta de perfil do sistema, comumente:
C:\Users\[YourUserName]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

Outras Operações (Artigos)

Um Código VBA Para Listar Todos os Suplementos no Excel
No Excel, você pode adicionar ou inserir alguns suplementos para lidar melhor com os dados. Como sabemos, podemos ir à janela Opções para visualizar todos os suplementos, mas há alguma maneira de listar todos os suplementos em uma planilha? Agora, neste tutorial, ele fornece um código VBA para listar todos os suplementos no Excel.

Como Executar Macro VBA Ao Abrir ou Fechar a Pasta de Trabalho?
Neste artigo, eu vou te mostrar como executar o código VBA enquanto abre ou fecha a pasta de trabalho a cada vez.

Como Proteger / Bloquear Código VBA No Excel?
Assim como você pode usar uma senha para proteger pastas de trabalho e planilhas, você também pode definir uma senha para proteger as macros no Excel.

Como Usar Atraso de Tempo Após Executar Uma Macro VBA No Excel?
Em alguns casos, você pode precisar configurar um temporizador para disparar uma Macro VBA no Excel. Por exemplo, ao clicar para executar uma macro específica, ela entrará em vigor após 10 segundos. Este artigo mostrará um método para alcançar isso.

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...


O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!