OPENEDU Seu Conhecimento Cresce a Cada Questão Resolvida

Escreva Os Numeros

Escreva Os Numeros

Como funciona o processo de converter números em texto escrito no Excel e no Google Planilhas

Você já precisou transformar um valor como 1.257,83 em "mil duzentos e cinquenta e sete reais e oitenta e três centavos"? Isso é essencial para notas fiscais, cheques e documentos contábeis. Vou explicar como fazer isso sem complicação. O Excel em português não tem uma função nativa que converta números para texto por padrão. A versão em inglês traz a função TEXT(num_to_text), mas mesmo assim ela apenas formata números com vírgulas ou casas decimais, não escreve o número por extenso. Então você precisa de uma solução caseira. Minha abordagem preferida usa uma macro VBA personalizada. Não é nada difícil de implementar. Vou descrever o caminho mais direto.

escreva os numeros no Excel com VBA

Crie um módulo novo e cole a seguinte função: Depois você precisa da função auxiliar que converte a parte inteira. Ela lida com números de 1 a 999.999. Não vou colocar o código inteiro aqui porque é longo, mas a lógica é: A parte decimal precisa de um tratamento especial porque valores como 0,05 devem virar "cinco centavos" e não "zero centavos". Usei um dicionário simples com mapeamento direto dos números de 1 a 99.

Alternativa sem programação: extensões e add-ins

Se você não quer lidar com VBA, existem extensões como a "Number to Words" que funcionam como add-in. Instale pela loja do Excel, aplique a função no seu intervalo e pronto. O tempo médio de instalação é de dois minutos, e a conversão roda em tempo real quando você altera o valor da célula. O problema dessas extensões é que elas não são gratuitas na maioria dos casos e exigem manutenção quando o Excel é atualizado. Já uma macro VBA roda indefinidamente, desde que você salve o arquivo como .xlsm.

Atividade Numeros Por Extenso 2 Ano - NAZAEDU
Atividade Numeros Por Extenso 2 Ano - NAZAEDU

Um caso real que deu errado e como resolvi

Eu estava processando uma planilha com cerca de 2.300 lançamentos de notas fiscais para uma empresa de logística. A maioria dos valores vinha de exportações do sistema ERP como texto formatado com ponto como separador decimal, tipo "1.257,83". Quando eu aplicava a função diretamente, o Excel retornava erro #VALOR! O problema era que o ponto de milhar estava confundindo a conversão. A solução foi adicionar uma linha de pré-processamento que remove os pontos de milhar antes da conversão. Usei uma fórmula auxiliar: =SUBSTITUIR(A2;".";")&","&B2 onde a coluna B tinha a parte decimal extraída. Depois passei esse valor tratado para a função VBA. Levou cerca de 40 minutos para refatorar a macro e ajustar todas as fórmulas da planilha. Antes disso, eu estava corrigindo manualmente cada erro, o que era inviável com 2.300 linhas.

O que quase ninguém explica sobre conversão de números para texto

A primeira coisa que você precisa entender é que valores monetários e valores puros são tratados de forma diferente. Um número como 500 deve virar "quinhentos" quando é uma quantidade neutra, mas "quinhentos reais" quando se trata de dinheiro. Minha função assume contexto monetário porque é o uso mais comum no Brasil. Se você precisa do sentido neutro, precisa de uma segunda função ou de um parâmetro adicional. A segunda armadilha são os números fracionários com muitas casas decimais. Se um valor vem com 10 casas decimais de um ERP, a função pode quebrar. Eu ajustei para truncar a parte decimal em duas casas automaticamente. Isso evita que valores como 0,333333 virem "trezentos e trinta e três milésimos" em vez de simplesmente "trinta e três centavos".

Limitações que você precisa saber

Essas soluções só funcionam bem até alguns milhões. Acima de 999.999, a lógica fica mais complexa porque precisa tratar "milhões", "bilhões" e assim por diante. Não vale a pena implementar isso se você trabalha com valores muito altos com frequência. Nesse caso, o ideal é usar uma biblioteca paga ou contratar um desenvolvedor. Também é importante notar que a função VBA não funciona em Google Planilhas. Para aquele ambiente, existe uma extensão chamada "Number to Words" disponível no Chrome Web Store que adiciona a funcionalidade diretamente nas planilhas. A converstação é precisa até centenas de milhões, mas falha em valores com décimos de centavo.

Atividade Escreva Os Números Por Extenso - ZULEDU
Atividade Escreva Os Números Por Extenso - ZULEDU

Quando escrever números por extenso não faz sentido

Evite usar conversão de números para texto em planilhas que vão sofrer alterações constantes. Se o valor muda toda hora, você vai gerar uma lotação desnecessária de recálculos. Em planilhas grandes com milhares de linhas que mudam frequentemente, o overhead pode ser significativo. Nesses casos, é melhor converter apenas as células que precisam ser impressas ou exportadas. Se você precisa apenas de uma versão estática do número por extenso para um relatório final, copie a célula formatada e use Colar Especial > Valores. Isso resolve o problema de desempenho sem precisar de nenhuma solução adicional. O processo de escreva os numeros no dia a dia contábil brasileiro é mais simples do que parece, desde que você entenda onde as bordas estão. Comece com a macro VBA se usar Excel, teste com um pequeno conjunto de dados antes de aplicar em toda a planilha, e sempre trate os separadores decimais antes de passar para a conversão.

Escrever os números por extenso em português
Escrever os números por extenso em português