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
1

Salvar seu arquivo como pasta de trabalho habilitada para macros

  1. 1Abra seu arquivo Excel
  2. 2Vá para Arquivo → Salvar como
  3. 3Selecione Pasta de trabalho habilitada para macro do Excel (*.xlsm) na lista suspensa de tipo de arquivo
  4. 4Clique em Salvar

Importante: Arquivos .xlsx normais não podem conter macros. Você deve salvar como .xlsm para usar código VBA.

2

Abrir o editor VBA

Keyboard Shortcut

Pressione Alt + F11 (Windows) ou Option + F11 (Mac)

Método alternativo

  1. 1.Vá para a guia Desenvolvedor
  2. 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.

3

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

  1. 1Baixe o arquivo TranslateSheet.bas
  2. 2No editor VBA, vá para Arquivo → Importar arquivo...
  3. 3Selecione o arquivo TranslateSheet.bas baixado
  4. 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).

4

Executar a macro

  1. 1Certifique-se de que a planilha que você quer traduzir está ativa
  2. 2Pressione Alt + F8 para abrir o diálogo Macros, selecione TranslateActiveSheetToNewSheet, então clique em Executar
  3. 3Digite o código do idioma de origem (deixe em branco para detecção automática)
  4. 4Digite o código do idioma de destino (ex., "ja" para japonês)
  5. 5Digite o nome da nova planilha ou aceite o padrão
  6. 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ódigoIdioma
enEnglish
jaJapanese
zh-CNChinese (Simplified)
zh-TWChinese (Traditional)
koKorean
esSpanish
frFrench
deGerman
itItalian
ptPortuguese
ruRussian
arArabic
hiHindi
viVietnamese
thThai

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.