Como converter uma quantia em moeda para texto por extenso no Excel?
Para falantes não nativos que utilizam o inglês como segunda língua, por vezes é difícil converter diretamente um valor monetário em palavras em inglês quando o número é demasiado longo. Neste artigo, irá aprender como converter facilmente moeda em texto por extenso no Excel.
Converter moeda em texto por extenso com código VBA
Converter moeda em texto por extenso com Kutools para Excel
Converter moeda em texto por extenso com código VBA
Com o código VBA abaixo, pode converter um valor monetário em palavras em inglês.
1. Prima Alt+F11 para abrir a caixa de diálogo Microsoft Visual Basic for Applications.
2. Na caixa de diálogo Microsoft Visual Basic for Applications, clique em Inserir > Módulo. Em seguida, copie e cole o código abaixo na janela de código.
Código VBA: Converter valor monetário em palavras em inglês
Function NumberstoWords(ByVal pNumber)
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If
xIndex = xIndex + 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
NumberstoWords = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
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
Select Case Val(Left(pTens, 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(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
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 3. Prima em simultâneo as teclas Alt + Q para fechar a caixa de diálogo Microsoft Visual Basic for Applications.
4. Selecione uma célula vazia (B1) adjacente à célula que pretende converter em texto por extenso, introduza a fórmula =NumberstoWords(A1) e, em seguida, prima a tecla Enter.

Nota: A1 é a célula que contém o valor monetário. Pode alterá-la conforme necessário.
5. Selecione a célula B1 e arraste a Alça de Preenchimento para baixo para obter todas as palavras em inglês correspondentes aos valores monetários.

Converter moeda em texto por extenso com Kutools para Excel
Este longo código VBA pode parecer complicado — mas temos a solução perfeita para si! Com a utilidade Converter em Palavras do Kutools para Excel, converter moeda em texto por extenso deixa de ser um problema. Siga os passos seguintes.
Antes de aplicar o Kutools para Excel, por favor, descarregue e instale-o primeiro.
1. Selecione as células contendo os valores monetários que deseja converter.
2. Clique em Kutools > Conteúdo > Converter em Palavras. Veja a imagem:

3. Na caixa de diálogo Converter minúsculas para maiúsculas, selecione a opção Inglês e clique no botão OK ou Aplicar.

Agora, os valores monetários selecionados são convertidos instantaneamente em palavras em inglês.
Kutools para Excel– Potencie o Excel com mais de 300 ferramentas essenciais, tornando o seu trabalho mais rápido e fácil, e aproveite as funcionalidades de IA para um processamento de dados mais inteligente e uma maior produtividade.Obtenha Já
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos