Função Excel Numero por Extenso

Para criar uma função do Excel que retorne um número por extenso, siga os seguintes passos:

  1. Abra o Excel e pressione Alt + F11 para abrir o Editor do Visual Basic.
  2. No Editor do Visual Basic, clique em Inserir > Módulo.
  3. Na janela do módulo, digite o seguinte código:

``` Function NumeroPorExtenso(ByVal Numero As Double) As StringDim unidade(9) As StringDim dezena(9) As StringDim centena(9) As StringDim milhar(9) As StringDim strNumero As StringDim x As IntegerDim y As IntegerDim z As Integer

unidade(1) = "um" unidade(2) = "dois" unidade(3) = "três" unidade(4) = "quatro" unidade(5) = "cinco" unidade(6) = "seis" unidade(7) = "sete" unidade(8) = "oito" unidade(9) = "nove" dezena(1) = "onze" dezena(2) = "doze" dezena(3) = "treze" dezena(4) = "catorze" dezena(5) = "quinze" dezena(6) = "dezesseis" dezena(7) = "dezessete" dezena(8) = "dezoito" dezena(9) = "dezenove" dezena(2) = "vinte" dezena(3) = "trinta" dezena(4) = "quarenta" dezena(5) = "cinquenta" dezena(6) = "sessenta" dezena(7) = "setenta" dezena(8) = "oitenta" dezena(9) = "noventa" centena(1) = "cento" centena(2) = "duzentos" centena(3) = "trezentos" centena(4) = "quatrocentos" centena(5) = "quinhentos" centena(6) = "seiscentos" centena(7) = "setecentos" centena(8) = "oitocentos" centena(9) = "novecentos" milhar(1) = "mil" milhar(2) = "milhões" milhar(3) = "bilhões" milhar(4) = "trilhões" strNumero = "" If Numero < 0 ThenNumero = Numero * -1 End If If Numero = 0 ThenNumeroPorExtenso = "zero"Exit Function End If x = Int(Numero / 1000) y = Int((Numero - x * 1000) / 100) z = Numero - x * 1000 - y * 100 If x > 0 ThenIf x = 1 Then  strNumero = unidade(1) & " " & milhar(1) & " "Else  strNumero = NumeroPorExtenso(x) & " " & milhar(Len(CStr(x)) - 2 \ 3 + 1) & " "End If End If If y > 0 ThenIf y = 1 And z > 0 Then  strNumero = strNumero & dezena(z) & " "Else  strNumero = strNumero & centena(y) & " "End If End If If z > 0 ThenIf y = 0 And x > 0 Then  strNumero = strNumero & "e "End IfIf y = 1 Then  strNumero = strNumero & dezena(z) & " "Else  strNumero = strNumero & unidade(z) & " "End If End If NumeroPorExtenso = strNumero 

End Function ```

  1. Pressione F5 ou vá em Depuração > Executar para testar a função.
  2. Digite =NumeroPorExtenso(456) na célula do Excel e pressione Enter. O resultado será "quatrocentos e cinquenta e seis".

A função pode ser personalizada de acordo com suas necessidades, incluindo suporte a números decimais e extensões que vão além dos trilhões.

Veja também mais Funções com a letra F

Funções que começam com:

Comentários