O Excel não tem uma função padrão que exibe números como palavras em inglês em uma planilha, mas você pode adicionar essa funcionalidade colando o seguinte código de função SpellNumber em um módulo VBA (Visual Basic for Applications). Esta função permite converter valores de dólar e centavos em palavras com uma fórmula, para que o 22,50 seja lido como Dólar Twenty-Two e 50 centavos. Isso pode ser muito útil se você estiver usando o Excel como um modelo para imprimir cheques.

Se você quiser converter valores numéricos em formato de texto sem exibi-los como palavras, use a função texto em vez disso.

Observação: A Microsoft fornece exemplos de programação somente para ilustração, sem garantia expressa ou implícita. Isso inclui, entre outros, as garantias implícitas de comercialização ou adequação a uma finalidade específica. Este artigo pressupõe que você esteja familiarizado com a linguagem de programação VBA e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um procedimento específico. No entanto, eles não modificarão esses exemplos para fornecer funcionalidade adicional ou construir procedimentos para atender a seus requisitos específicos.

Criar a função SpellNumber para converter números em palavras

  1. Use o atalho de teclado ALT + F11 para abrir o editor do Visual Basic (VBE).

    Observação: Você também pode acessar o editor do Visual Basic mostrando a guia desenvolvedor na faixa de opções.

  2. Clique na guia Inserir e, em seguida, clique em módulo.

    No menu Inserir, clique em módulo.
  3. Copie as seguintes linhas de código.

    Observação: Conhecida como um UDF (função definida pelo usuário), esse código automatiza a tarefa de conversão de números em texto em toda a planilha.

    Option Explicit
    
    'Main Function
    
    Function SpellNumber(ByVal MyNumber)
    
    Dim Dollars, Cents, Temp
    
    Dim DecimalPlace, Count
    
    ReDim Place(9) As String
    
    Place(2) = " Thousand "
    
    Place(3) = " Million "
    
    Place(4) = " Billion "
    
    Place(5) = " Trillion "
    
    ' String representation of amount.
    
    MyNumber = Trim(Str(MyNumber))
    
    ' Position of decimal place 0 if none.
    
    DecimalPlace = InStr(MyNumber, ".")
    
    ' Convert cents and set MyNumber to dollar amount.
    
    If DecimalPlace > 0 Then
    
    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
    
    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    
    End If
    
    Count = 1
    
    Do While MyNumber <> ""
    
    Temp = GetHundreds(Right(MyNumber, 3))
    
    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
    
    If Len(MyNumber) > 3 Then
    
    MyNumber = Left(MyNumber, Len(MyNumber) - 3)
    
    Else
    
    MyNumber = ""
    
    End If
    
    Count = Count + 1
    
    Loop
    
    Select Case Dollars
    
    Case ""
    
    Dollars = "No Dollars"
    
    Case "One"
    
    Dollars = "One Dollar"
    
    Case Else
    
    Dollars = Dollars & " Dollars"
    
    End Select
    
    Select Case Cents
    
    Case ""
    
    Cents = " and No Cents"
    
    Case "One"
    
    Cents = " and One Cent"
    
    Case Else
    
    Cents = " and " & Cents & " Cents"
    
    End Select
    
    SpellNumber = Dollars & Cents
    
    End Function
    
    
    ' Converts a number from 100-999 into text
    
    Function GetHundreds(ByVal MyNumber)
    
    Dim Result As String
    
    If Val(MyNumber) = 0 Then Exit Function
    
    MyNumber = Right("000" & MyNumber, 3)
    
    ' Convert the hundreds place.
    
    If Mid(MyNumber, 1, 1) <> "0" Then
    
    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    
    End If
    
    ' Convert the tens and ones place.
    
    If Mid(MyNumber, 2, 1) <> "0" Then
    
    Result = Result & GetTens(Mid(MyNumber, 2))
    
    Else
    
    Result = Result & GetDigit(Mid(MyNumber, 3))
    
    End If
    
    GetHundreds = Result
    
    End Function
    
    
    ' Converts a number from 10 to 99 into text.
    
    
    Function GetTens(TensText)
    
    Dim Result As String
    
    Result = "" ' Null out the temporary function value.
    
    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
    
    Select Case Val(TensText)
    
    Case 10: Result = "Ten"
    
    Case 11: Result = "Eleven"
    
    Case 12: Result = "Twelve"
    
    Case 13: Result = "Thirteen"
    
    Case 14: Result = "Fourteen"
    
    Case 15: Result = "Fifteen"
    
    Case 16: Result = "Sixteen"
    
    Case 17: Result = "Seventeen"
    
    Case 18: Result = "Eighteen"
    
    Case 19: Result = "Nineteen"
    
    Case Else
    
    End Select
    
    Else ' If value between 20-99...
    
    Select Case Val(Left(TensText, 1))
    
    Case 2: Result = "Twenty "
    
    Case 3: Result = "Thirty "
    
    Case 4: Result = "Forty "
    
    Case 5: Result = "Fifty "
    
    Case 6: Result = "Sixty "
    
    Case 7: Result = "Seventy "
    
    Case 8: Result = "Eighty "
    
    Case 9: Result = "Ninety "
    
    Case Else
    
    End Select
    
    Result = Result & GetDigit _
    
    (Right(TensText, 1)) ' Retrieve ones place.
    
    End If
    
    GetTens = Result
    
    End Function
    
    
    ' Converts a number from 1 to 9 into text.
    
    Function GetDigit(Digit)
    
    Select Case Val(Digit)
    
    Case 1: GetDigit = "One"
    
    Case 2: GetDigit = "Two"
    
    Case 3: GetDigit = "Three"
    
    Case 4: GetDigit = "Four"
    
    Case 5: GetDigit = "Five"
    
    Case 6: GetDigit = "Six"
    
    Case 7: GetDigit = "Seven"
    
    Case 8: GetDigit = "Eight"
    
    Case 9: GetDigit = "Nine"
    
    Case Else: GetDigit = ""
    
    End Select
    
    End Function
  4. Cole as linhas de código na caixa Module1 (código) .

    Código colado no Módulo1 caixa (código).
  5. Pressione ALT + Q para retornar ao Excel. A função SpellNumber agora está pronta para uso.

    Observação: Esta função funciona somente para a pasta de trabalho atual. Para usar essa função em outra pasta de trabalho, você deve repetir as etapas para copiar e colar o código nessa pasta de trabalho.

Início da Página

Usar a função SpellNumber em células individuais

  1. Digite a fórmula = SpellNumber(a1) na célula em que você deseja exibir um número escrito, onde a1 é a célula que contém o número que você deseja converter. Você também pode digitar manualmente o valor like = SpellNumber (22.50).

  2. Pressione Enter para confirmar a fórmula.

Início da Página

Salvar sua pasta de trabalho da função SpellNumber

O Excel não pode salvar uma pasta de trabalho com funções de macro no formato de pasta de trabalho padrão sem macro (. xlsx). Se você clicar em arquivo > salvar. Uma caixa de diálogo projeto do VB é aberta. Clique em Não.

Na caixa de diálogo de projeto do VB, clique em não.

Você pode salvar seu arquivo como uma pasta de trabalho do Excel Macro-Enabled (. xlsm) para manter o arquivo no formato atual.

  1. Clique em Arquivo > Salvar Como.

  2. Clique no menu suspenso salvar como tipo e selecione Excel Macro-Enabled pasta de trabalho.

  3. Clique em Salvar.

Início da Página

Função TEXTO

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade da tradução?

O que afetou sua experiência?

Algum comentário adicional? (Opcional)

Obrigado por seus comentários!

×