Traduzir planilha Excel com VBA + TRANSLATE()
Traduza automaticamente uma planilha Excel inteira usando VBA e a função integrada =TRANSLATE().
Se você já precisou traduzir uma planilha inteira (fatura, lista de produtos, lista de embalagem, etc.) sem quebrar o layout, esta abordagem funciona bem:
- Mantenha sua planilha original intacta
- Crie uma nova planilha "traduzida" com a mesma formatação
- Use a função integrada
=TRANSLATE()do Excel para traduzir automaticamente cada célula de texto
=TRANSLATE() é uma função Excel baseada em nuvem alimentada pelo Microsoft Translator. Requer conexão com a Internet. Está disponível no Excel para Microsoft 365 (incluindo Mac), Excel para web e móvel, mas pode ainda não existir em algumas versões/canais.
Antes de começar: confirme que =TRANSLATE() existe no seu Excel
Em qualquer célula, tente:
=TRANSLATE("hello","en","pt")Se você obtiver #NAME?, sua versão do Excel ainda não tem a função. A Microsoft indica que é suportada no Microsoft 365 / web / móvel e é baseada em serviço.
Também foi introduzida como nova função através dos canais Microsoft 365 Insider, então a disponibilidade pode depender do canal de atualização/implantação.
O que você vai construir
Uma macro VBA que:
- Cria uma cópia da sua planilha ativa
- Traduz todas as células de texto usando a função
=TRANSLATE() - Preserva números, fórmulas e formatação
- Nomeia a nova planilha com o código do idioma de destino
Pré-requisitos
- Assinatura Microsoft 365 (a função
=TRANSLATE()requer Microsoft 365) - Excel para Windows ou Mac (a versão Web tem suporte VBA limitado)
- Macros habilitadas nas configurações do Excel
Salvar seu arquivo como pasta de trabalho habilitada para macros
- 1Abra seu arquivo Excel
- 2Vá para Arquivo → Salvar como
- 3Selecione Pasta de trabalho habilitada para macro do Excel (*.xlsm) na lista suspensa de tipo de arquivo
- 4Clique em Salvar
Importante: Arquivos .xlsx normais não podem conter macros. Você deve salvar como .xlsm para usar código VBA.
Abrir o editor VBA
Keyboard Shortcut
Pressione Alt + F11 (Windows) ou Option + F11 (Mac)
Método alternativo
- 1.Vá para a guia Desenvolvedor
- 2.Clique em Visual Basic
Dica: Se você não vê a guia Desenvolvedor, vá para Arquivo → Opções → Personalizar Faixa de Opções e marque a caixa Desenvolvedor.
Baixar e importar o código VBA
Obter a macro VBA do GitHub
Baixe o arquivo TranslateSheet.bas do nosso repositório de código aberto.
Como importar o arquivo .bas
- 1Baixe o arquivo
TranslateSheet.bas - 2No editor VBA, vá para Arquivo → Importar arquivo...
- 3Selecione o arquivo
TranslateSheet.basbaixado - 4O módulo aparecerá na pasta Módulos do seu projeto
Alternativa: Você também pode copiar o código diretamente do GitHub e colá-lo em um novo módulo (Inserir → Módulo).
Executar a macro
- 1Certifique-se de que a planilha que você quer traduzir está ativa
- 2Pressione Alt + F8 para abrir o diálogo Macros, selecione TranslateActiveSheetToNewSheet, então clique em Executar
- 3Digite o código do idioma de origem (deixe em branco para detecção automática)
- 4Digite o código do idioma de destino (ex., "ja" para japonês)
- 5Digite o nome da nova planilha ou aceite o padrão
- 6Escolha se quer converter fórmulas em valores (Sim/Não)
Nota: A velocidade de tradução depende do número de células e da sua conexão com a Internet. Planilhas com mais de 500 células de texto podem levar vários minutos. Para planilhas muito grandes (1000+ células), considere dividi-las em lotes menores.
Notas importantes
- Limites de taxa: O Microsoft Translator tem limites de uso. Se você traduzir milhares de células, pode ver erros temporários. Aguarde alguns minutos e tente novamente.
- Aguardar o cálculo: Após executar a macro, aguarde todas as fórmulas TRANSLATE terminarem de calcular antes de converter em valores. Você verá "Calculando..." na barra de status enquanto trabalha.
- Células mescladas: A macro preserva a formatação de células mescladas, mas apenas a célula superior esquerda de uma área mesclada contém texto. Outras células na mesclagem permanecerão vazias.
Códigos de idioma suportados
Use estes códigos quando solicitado o idioma de origem ou destino:
| Código | Idioma |
|---|---|
| en | English |
| ja | Japanese |
| zh-CN | Chinese (Simplified) |
| zh-TW | Chinese (Traditional) |
| ko | Korean |
| es | Spanish |
| fr | French |
| de | German |
| it | Italian |
| pt | Portuguese |
| ru | Russian |
| ar | Arabic |
| hi | Hindi |
| vi | Vietnamese |
| th | Thai |
Dica: Para uma lista completa de códigos de idioma suportados pela função TRANSLATE, visite a documentação oficial da Microsoft.
Solução de problemas
"Função TRANSLATE não disponível"
A função TRANSLATE requer uma assinatura Microsoft 365. Certifique-se de ter a versão mais recente do Excel e de estar conectado à sua conta Microsoft 365.
"Macros estão desabilitadas"
Vá para Arquivo → Opções → Central de Confiabilidade → Configurações da Central de Confiabilidade → Configurações de Macro e selecione "Habilitar todas as macros" ou "Desabilitar todas as macros com notificação".
"Tradução retorna erro #VALOR!"
Isso geralmente acontece quando a célula contém caracteres especiais ou há um problema de rede. A macro pula células com erros e continua traduzindo.
"Macro executa muito devagar"
Planilhas grandes com milhares de células podem levar tempo. Considere dividir seus dados em planilhas menores ou use o serviço de tradução Excel da Doc2Lang para processamento em lote mais rápido.
"Tradução não funciona" ou células mostram #CONNECT!
A função TRANSLATE requer uma conexão ativa com a Internet. Verifique sua conexão de rede e tente novamente. Firewalls corporativos também podem bloquear o acesso aos serviços do Microsoft Translator.
Tutorial em vídeo
Assista ao guia em vídeo passo a passo:
Precisa de tradução mais precisa?
Doc2Lang usa tradução alimentada por IA com consciência de contexto para maior precisão, preservando toda formatação, fórmulas e estilos.