Formula para Escrever Numero por Extenso no Excel 2013

Infelizmente, o Excel não possui uma fórmula nativa para escrever números por extenso. No entanto, é possível utilizar uma fórmula personalizada para fazer esta conversão.

Uma maneira de fazer isso é utilizando um script em VBA (Visual Basic for Applications) que crie a fórmula personalizada. Para criar essa fórmula, siga os seguintes passos:

  1. Abra uma nova planilha do Excel

  2. Pressione Alt + F11 para abrir o Editor do Visual Basic

  3. Clique em Inserir > Módulo para criar um novo módulo

  4. Copie e cole o seguinte código na janela do módulo:

Function NumeroPorExtenso(ByVal Numero As Double) As String

' Função para escrever um número por extenso

Dim Unidades() As Variant

Dim Dezenas() As Variant

Dim Centenas() As Variant

Dim Milhares() As Variant

Dim Milhoes() As Variant

Dim Bilhoes() As Variant

Dim Trilhoes() As Variant

Dim Quadrilhoes() As Variant

Dim Quintilhoes() As Variant

Dim MilharesDeQuintilhoes() As Variant

Dim DezenasDeQuintilhoes() As Variant

Dim CentenasDeQuintilhoes() As Variant

Dim DezenasDeMilharesDeQuintilhoes() As Variant

Dim MilharesDeMilharesDeQuintilhoes() As Variant

Dim Valor As String

Dim Resultado As String

' Definir os valores dos arrays

Unidades = Array("", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove")

Dezenas = Array("", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove")

Centenas = Array("", "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos")

Milhares = Array("", "mil", "dois mil", "três mil", "quatro mil", "cinco mil", "seis mil", "sete mil", "oito mil", "nove mil")

Milhoes = Array("", "um milhão", "dois milhões", "três milhões", "quatro milhões", "cinco milhões", "seis milhões", "sete milhões", "oito milhões", "nove milhões")

Bilhoes = Array("", "um bilhão", "dois bilhões", "três bilhões", "quatro bilhões", "cinco bilhões", "seis bilhões", "sete bilhões", "oito bilhões", "nove bilhões")

Trilhoes = Array("", "um trilhão", "dois trilhões", "três trilhões", "quatro trilhões", "cinco trilhões", "seis trilhões", "sete trilhões", "oito trilhões", "nove trilhões")

Quadrilhoes = Array("", "um quadrilhão", "dois quadrilhões", "três quadrilhões", "quatro quadrilhões", "cinco quadrilhões", "seis quadrilhões", "sete quadrilhões", "oito quadrilhões", "nove quadrilhões")

Quintilhoes = Array("", "um quintilhão", "dois quintilhões", "três quintilhões", "quatro quintilhões", "cinco quintilhões", "seis quintilhões", "sete quintilhões", "oito quintilhões", "nove quintilhões")

MilharesDeQuintilhoes = Array("dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove")

DezenasDeQuintilhoes = Array("vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa")

CentenasDeQuintilhoes = Array("cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos")

DezenasDeMilharesDeQuintilhoes = Array("dez mil", "vinte mil", "trinta mil", "quarenta mil", "cinquenta mil", "sessenta mil", "setenta mil", "oitenta mil", "noventa mil")

MilharesDeMilharesDeQuintilhoes = Array("cem mil", "duzentos mil", "trezentos mil", "quatrocentos mil", "quinhentos mil", "seiscentos mil", "setecentos mil", "oitocentos mil", "novecentos mil")

' Separar o valor em blocos de três dígitos

Valor = Format(Numero, "000000000000000")

' Converter cada bloco

If Left(Valor, 1) <> "0" Then

Resultado = Resultado & Centenas(Val(Left(Valor, 1))) & " "

End If

If Mid(Valor, 2, 1) <> "0" Then

If Mid(Valor, 2, 1) <> "1" Then

Resultado = Resultado & DezenasDeQuintilhoes(Val(Mid(Valor, 2, 1)) - 2) & " "

Else

Resultado = Resultado & MilharesDeQuintilhoes(Val(Mid(Valor, 2, 2)) Mod 10) & " "

End If

End If

If Right(Valor, 1) <> "0" Then

If Mid(Valor, 2, 1) <> "1" Then

Resultado = Resultado & Unidades(Val(Right(Valor, 1))) & " "

End If

End If

' Adicionar o nome do bloco (mil, milhão, bilhão, etc.)

Select Case Len(Valor)

Case 10 To 12

Resultado = Resultado & "bilhão "

Case 13 To 15

Resultado = Resultado & "trilhão "

Case 16 To 18

Resultado = Resultado & "quadrilhão "

Case 19 To 21

Resultado = Resultado

Veja também mais Fórmulas com a letra F

Fórmulas que começam com:

Comentários