Converter Converter em Palavras em Rupia Indiana e noutras moedas no Excel (2025 Edition)
Descubra como converter números em palavras em rupias indianas — ou em qualquer outra moeda — diretamente no Excel.
Ao trabalhar com documentos financeiros — como faturas, orçamentos, formulários fiscais, cheques ou recibos de pagamento — é frequentemente necessário apresentar os valores monetários tanto em formato numérico como por extenso. Essa prática acrescenta um toque de profissionalismo e ajuda a prevenir fraudes ou interpretações incorretas.
Exemplo
Embora o Microsoft Excel não inclua uma funcionalidade integrada para converter números em palavras, existem várias formas eficazes de o conseguir — recorrendo a VBA, funções LAMBDA ou ao suplemento tudo-em-um Kutools para Excel.
Converter Converter em Palavras em Rupia Indiana com VBA (todas as versões Microsoft)
- Converter Converter em Palavras noutras moedas (USD, EUR, etc.)
- Guarde o seu livro como ficheiro com macros ativadas
Converter Converter em Palavras em Rupia Indiana com função LAMBDA (apenas Microsoft 365)
Converter números em USD, EUR e 30+ outras moedas (todas as versões Microsoft)
Converter Converter em Palavras em Rupia Indiana com VBA (todas as versões Microsoft)
Para utilizadores de qualquer versão do Excel, o VBA (Visual Basic for Applications) oferece um método personalizável para converter montantes numéricos em palavras segundo o sistema numérico indiano — como milhares, lakhs e crores.
Passo 1. Prima Alt + F11 para abrir o editor do VBA (janela do Microsoft Visual Basic for Applications).

Passo 2. Aceda a Inserir > Módulo.

Passo 3. Cole o código VBA no módulo.
Converter números em palavras em Rupia Indiana
Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
Dim Units As String, SubUnits As String, TempStr As String
Dim DecimalPlace As Integer, Count As Integer
Dim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Lakh "
Place(4) = " Crore "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
If DecimalPlace > 0 Then
SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
TempStr = GetHundreds(Right(MyNumber, 3))
If TempStr <> "" Then Units = TempStr & Place(Count) & Units
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
If SubUnits <> "" Then
ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
End If
ConvertToRupees = ConvertToRupees & " Only"
End Function
Private Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
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
Private Function GetTens(TensText)
Dim Result As String
If Val(Left(TensText, 1)) = 1 Then
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"
End Select
Else
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 "
End Select
Result = Result & GetDigit(Right(TensText, 1))
End If
GetTens = Result
End Function
Private 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

Passo 4. Guarde e volte ao Excel.
Passo 5. Selecione uma célula e insira a fórmula da seguinte forma:
Prima a tecla Enter.

💡Dica: este método aceita valores decimais (Paise) e funciona offline.
Limitações da utilização de VBA
- É necessário guardar o livro como ficheiro com macros ativadas (.xlsm).
- As macros podem ser bloqueadas pelas definições de segurança em determinados ambientes.
Converter Converter em Palavras noutras moedas (USD, EUR, etc.)
Para personalizar o resultado noutras moedas, como «Dólares» ou «Euros», basta ajustar os valores de texto na função VBA. Abaixo encontra uma versão simplificada e mais flexível da função.
Modelo flexível de código VBA (moeda personalizada)
'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
Dim result As String
Dim dollars As Long
Dim cents As Long
dollars = Int(num)
cents = Round((num - dollars) * 100)
If Len(currency2) = 0 Then currency2 = "Dollars"
If Len(subCurrency) = 0 Then subCurrency = "Cents"
result = currency2 & " " & SpellNumber_English(dollars)
If cents > 0 Then
result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
End If
NumberToWordsCustom = result & " Only"
End Function
Private Function SpellNumber_English(ByVal MyNumber As Long) As String
Dim Units As Variant, Tens As Variant, Teens As Variant
Dim Place() As String
Dim TempStr As String
Dim Count As Integer
Dim t As String
Dim StrNumber As String
Dim n As Integer
Place = Split(" Thousand Million Billion", " ")
Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
StrNumber = Trim(Str(MyNumber))
Count = 0
Do While StrNumber <> ""
n = Val(Right(StrNumber, 3))
If n <> 0 Then
t = ConvertHundreds(n, Units, Tens, Teens)
If Count > 0 Then t = t & " " & Place(Count - 1)
TempStr = t & " " & TempStr
End If
If Len(StrNumber) > 3 Then
StrNumber = Left(StrNumber, Len(StrNumber) - 3)
Else
StrNumber = ""
End If
Count = Count + 1
Loop
SpellNumber_English = Trim(TempStr)
End Function
Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
Dim result As String
If n >= 100 Then
result = Units(Int(n / 100)) & " Hundred "
n = n Mod 100
End If
If n >= 20 Then
result = result & Tens(Int(n / 10)) & " "
n = n Mod 10
ElseIf n >= 10 Then
result = result & Teens(n - 10) & " "
n = 0
End If
If n > 0 Then
result = result & Units(n)
End If
ConvertHundreds = Trim(result)
End Function
Exemplo de fórmula VBA:

Exemplo de fórmula VBA para outra moeda:
=NumberToWordsCustom(A2, «Euros», «Cents»)
=NumberToWordsCustom(A2, «Pounds», «Pence»)
O código é flexível — basta indicar a moeda e a subunidade pretendidas.
Guarde o seu livro como ficheiro com macros ativadas
Se estiver a utilizar VBA, guarde o seu livro com macros ativadas — caso contrário, o código será perdido ao fechar o ficheiro.
Passo 1. Aceda a Ficheiro > Guardar Como

Passo 2. Selecione uma localização e escolha o tipo de ficheiro: Livro do Excel com Macros Ativadas (*.xlsm).

Passo 3. Clique em Guardar.
✅ As suas funções personalizadas, como =ConvertToRupees(A2), ficam agora guardadas e prontas a reutilizar sempre que precisar.
Converter Converter em Palavras em Rupia Indiana com função LAMBDA (apenas Microsoft 365)
Para utilizadores do Excel 365, pode utilizar a LAMBDA, uma nova funcionalidade do Excel que lhe permite criar fórmulas personalizadas — sem precisar de VBA.
🪄 O que é o LAMBDA?
O LAMBDA é uma funcionalidade do Excel que lhe permite criar as suas próprias funções personalizadas com base em fórmulas — tal como as funções integradas, como SOMA ou SE, mas sem precisar de escrever qualquer código ou utilizar macros. É perfeito para simplificar lógicas repetitivas e tornar as suas folhas de cálculo mais limpas e fáceis de manter.
Passo 1: aceda ao separador Fórmulas e clique em Gerenciador de Nomes.

Passo 2: crie um novo nome.
Clique no botão Novo.

Introduza um Nome.
Exemplo: RupeeToWords

Passo 3: cole esta fórmula LAMBDA no campo Refere-se a:
=LAMBDA(n, LET( units, {«»,«One»,«Two»,«Three»,«Four»,«Five»,«Six»,«Seven»,«Eight»,«Nine»}, teens, {«Ten»,«Eleven»,«Twelve»,«Thirteen»,«Fourteen»,«Fifteen»,«Sixteen»,«Seventeen»,«Eighteen»,«Nineteen»}, tens, {«»,«»,«Twenty»,«Thirty»,«Forty»,«Fifty»,«Sixty»,«Seventy»,«Eighty»,«Ninety»}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA([[PH_1]], IF([[PH_1]]0, « » & INDEX(units, MOD([[PH_1]],10)+1), «») ) ) ), ConvertThree, LAMBDA(x, IF(x=0, «», IF([[PH_1]]0, « » & ConvertTwo(MOD([[PH_1]],100)), «») ) ) ), words, IF(num=0, «Zero», TEXTJOIN(« », TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & « Crore», «»), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & « Lakh», «»), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & « Thousand», «»), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & « Hundred», «»), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), «») ) ), result, «Rupees » & words & IF(paise>0, « and » & ConvertTwo(paise) & « Paise», «») & « Only», result ))Clique em OK para guardar o novo nome.

Passo 3. Feche o Gerenciador de Nomes e volte ao Excel.
Passo 4. Utilize a fórmula em qualquer célula da seguinte forma:
Prima a tecla Enter.

👀 A função LAMBDA completa trata Crores, Lakhs, Milhares e valores decimais.
Converter números em USD, EUR e 30+ outras moedas (todas as versões Microsoft)
Para a solução mais eficiente e profissional, utilize a ferramenta Kutools para Excel's Converter em Palavras. Esta poderosa ferramenta suporta:
🌍 Mais de 30 moedas, incluindo:
- Dólares norte-americanos (USD)
- Euros (EUR)
- Yuan chinês (CNY)
- Libras esterlinas (GBP)
- etc.
Passo 1. Selecione as células que deseja converter.

Passo 2. Aceda a Kutools > Conteúdo > Converter em Palavras

Passo 3. Selecione a moeda de destino e clique em OK.

Os números são automaticamente convertidos para a moeda especificada.

😁Dica: se quiser converter diretamente Converter em Palavras, marque a opção Não converter para moeda e o resultado será apresentado assim:

Quando utilizar cada método
Utilize VBA se precisar de uma solução flexível e programável e já estiver familiarizado com macros.
- Utilize a função LAMBDA se estiver a usar o Excel 365 e precisar apenas ocasionalmente de converter valores em Rupia Indiana. Trata-se de uma solução leve e partilhável, sem necessidade de macros nem ferramentas externas — ideal para tarefas simples ou pessoais.
- Utilize o Kutools para Excel se quiser a solução mais fácil, rápida e versátil — sem precisar de programação. O Kutools é especialmente útil quando:
- Trabalha com várias moedas.
- Precisa converter valores em lote ou em grandes volumes de dados.
- Quer uma ferramenta profissional, sem macros, com mais de 30 opções de moeda e desempenho potenciado por IA?
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

