Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

O Excel não tem uma função predefinida que apresente números como palavras em inglês numa folha de cálculo, mas pode adicionar esta capacidade ao colar o seguinte código de função SpellNumber num módulo VBA (Visual Basic for Applications). Esta função permite-lhe converter montantes em dólares e cêntimos em palavras com uma fórmula, pelo que 22,50 seria lido como Twenty-Two Dólares e Cinquenta Cêntimos. Isto pode ser muito útil se estiver a utilizar o Excel como modelo para imprimir verificações.

Se quiser converter valores numéricos em formato de texto sem os apresentar como palavras, utilize a função TEXTO .

Nota: A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isto inclui, mas não se limita às garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação VBA e com as ferramentas utilizadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, não modificarão estes exemplos para fornecer funcionalidade adicional ou criar procedimentos para satisfazer os seus requisitos específicos.

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

  1. Utilize o atalho de teclado Alt + F11 para abrir o Visual Basic Editor (VBE).

    Nota: Também pode aceder ao Visual Basic Editor ao mostrar o separador Programador no friso .

  2. Clique no separador Inserir e clique em Módulo.

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

    Nota: Conhecido como Função Definida pelo Utilizador (UDF), este código automatiza a tarefa de converter números em texto em toda a sua folha de cálculo.

    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 Módulo1 (Código ).

    Código colado na caixa Módulo1 (Código).
  5. Prima Alt + Q para regressar ao Excel. A função SpellNumber está agora pronta para ser utilizada.

    Nota: Esta função funciona apenas para o livro atual. Para utilizar esta função noutro livro, tem de repetir os passos para copiar e colar o código nesse livro.

Início da Página

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

  1. Escreva a fórmula =SpellNumber(A1) na célula onde pretende apresentar um número escrito, em que A1 é a célula que contém o número que pretende converter. Também pode escrever manualmente o valor como =SpellNumber(22,50).

  2. Prima Enter para confirmar a fórmula.

Início da Página

Guardar o livro da função SpellNumber

O Excel não consegue guardar um livro com funções de macro no formato de livro sem macros padrão (.xlsx). Se clicar em Ficheiro > Guardar. É aberta uma caixa de diálogo de projeto VB . Clique em Não.

Na caixa de diálogo Projeto VB, clique em Não.

Pode guardar o seu ficheiro como um Livro do Excel Macro-Enabled (.xlsm) para manter o seu ficheiro no formato atual.

  1. Clique em Ficheiro > Guardar Como.

  2. Clique no menu pendente Guardar com o tipo e selecione Excel Macro-Enabled Livro.

  3. Clique em Guardar.

Início da Página

Consulte Também

Função TEXTO

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×