In this article I will show you two quick and free ways to convert currency numbers into English words in Excel 2019, 2016, 2013 and other versions. Continue reading
by Alexander Frolov, updated on
In this article I will show you two quick and free ways to convert currency numbers into English words in Excel 2019, 2016, 2013 and other versions. Continue reading
Comments page 6. Total comments: 530
how to set excel formulas number to word in Indian rupees ?
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Indian Rupees, Cents, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Million "
Place(4) = " Billion "
Place(5) = " Trillion "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
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 Indian Rupees = Temp & Place(Count) & Indian Rupees
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Indian Rupees
Case ""
Indian Rupees = "No Indian Rupees"
Case "One"
Indian Rupees = "One Dollar"
Case Else
Indian Rupees = Indian Rupees & " Indian Rupees"
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 = Indian Rupees & Cents
End Function
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
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
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
its not working in indian rupee.
getting an error as following,
Syntax error
syntax errors
Dim Indian Rupees, Cents, Temp
Do While MyNumber ""
If Temp "" Then Indian Rupees = Temp & Place(Count) & Indian Rupees
Select Case Indian Rupees
not working
syntax errors.
Great , It working , Thank you for your support
Thank you for the wonderful formula.
please help me on how to put the dollar ahead of the numbers.
i.e.
Dollar Five Hundred and no cents
sir how can i get text without any currency
Just use this formulla, then copy that text and past it again as value in another cell. Then press 'ctrl+h' and replace "dollars and cents" with "blank".
I did the same. And Thanks to the editor.
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Dhirams, Cents, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Million "
Place(4) = " Billion "
Place(5) = " Trillion "
MyNumber = Trim(Str(MyNumber))
DecimalPlace = InStr(MyNumber, ".")
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 Dhirams = Temp & Place(Count) & Dhirams
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Dhirams
Case ""
Dhirams = "No Dhirams"
Case "One"
Dhirams = "One Dhirams"
Case Else
Dhirams = Dhirams & " Dhirams"
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 = Dhirams & Cents
End Function
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
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
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
Hello, Please i need some orientation on the said codes presented above. when i follow the procedure shown above the result i get after gibing the spellnumber command is #NAME? Please how should i proceed with such result.
Please help me. Thanks
Hello!
Please describe in more detail your actions. Have you installed VBA macro via Alt + F11?
Hi, Thanks for the code.
When i use the formula for 100.50 it shows "One Hundred Dollars and Fifty Cents"
Where as i want it to show as " Dollars One Hundred and Cents Fifty Only"
In Which Dollars & Cents to be shown before the numbers & Only to be shown at the end.
Please let me know what i need to change in the code to get the above result.
Thanks & regards,
Hi, need help like as below :
294,922.30
Two Hundred Ninety Four Thousand Nine Hundred Twenty Two And Cent Thirty only
have any code for this?
help help help & thank you so much...huhu...
Thank you!!! it worked for me..
Can you send the formula as per given below: 1501.250
"One Thousand Five Hundred One And Baisa 250/1000 Only
i will like to know how to get the currency in Ghana cedis and peswas. the currency input in the formula is dollars. kindly help me.
Hi,
i tried, but could not get through.
Numbers: 199600 / 1136540
To be converted to: Rupees One lakh ninety nine thousand six hundred only. / Rupees Eleven lakh thirty six thousand five hundred fourty only.
Can any one please help?
DEAR CONCERN,
JUST LET ME KNOW THE BELOW IN WORD DETAILS:
$ 2500.23456
In words: ?
Thank You. It worked perfectly for me.
This is good, but how it is write with CAPS?
thank you this is great
All- I want in this way can someone help- "Rupees Seven Thousand seven Hundred Only" or "INR Seven Thousand Seven Hundred only"
Hello Ravneet!
I’m sorry but your task is not entirely clear to me.
For me to be able to help you better, please describe your task in more detail. Please let me know in more detail what you were trying to find, what formula you used and what problem or error occurred. Give an example of the source data and the expected result. It’ll help me understand it better and find a solution for you. Thank you.
First of all- thank you so much for replying.
Currently I have the Value in my Cell A1- "71,000"
Spell Check using the above number " Seventy one Thousand Rupees and No Paise"
I want this desired result to be " Rupees Seventy One Thousand Only"
The module I have used is as below.
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Rupees, Paise, 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 Paise and set MyNumber to dollar amount.
If DecimalPlace > 0 Then
Paise = 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 Rupees = Temp & Place(Count) & Rupees
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Rupees
Case ""
Rupees = "No Rupees"
Case "One"
Rupees = "One Dollar"
Case Else
Rupees = Rupees & " Rupees"
End Select
Select Case Paise
Case ""
Paise = " and No Paise"
Case "One"
Paise = " and One Cent"
Case Else
Paise = " and " & Paise & " Paise"
End Select
SpellNumber = Rupees & Paise
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
The formula is working fro just one sheet in the whole workbook. how do i make it work on other sheets without having to retype the formula each time
Hi,
I have tried the code and its great.
I would like to use it for Kuwait dinar and need to convert 2 decimal places to 3 decimal places.
Example:
now : 5.5 gives - Five dollars and fifty fils
I need : 5.5 gives - five dollars and five hundred fils
Please help
Thank you in advance
Regards,
Amal
hello Amal!
I’m sorry but your task is not entirely clear to me. Could you please describe it in more detail? Also write what exactly you want to receive. Text or number? What formula are you using now? I will try to help you.
Kindly Help me to retrieve the value mentioned below
The formulae is working fine....
if the amount is in Lakhs like 318,600.00
So it shows the amount in Three Hundred Eighteen Thousand Six Hundred and Zero Piase(INR) Only
I want the result in One Lakh Eighteen Thousand Thousand Six Hundred and Zero Paise Only.
What changes in the equation formulae in spell number required.
I follow all steps twice but its not work?
Hello Mohamad!
I can’t guess what you really did. What exactly doesn’t work? For me to be able to help you better, please describe your task in more detail. It’ll help me understand it better and find a solution for you. Thank you.
currently we are using spellnumber like this.
370,932.04 = Three Hundred Seventy Thousand Nine Hundred Thirty Two & Paiase Four Only
But i required it should be like this.
Three Lakh Seventy Thousand Nine Hundred Thirty Two & Paiase Four Only
Please help me how to do it. Thanks in advance
Hello Rajesh!
I need more details to help you. Please let me know what formula you are using at the moment and whether you would like to get a number value or a text one. I will try to help you.
I want Indian Rupees Conversation Code
Can you send the formula as per given below: 1500.250
"One Thousand Five Hundred And Baisa 250/1000 Only
How do this applicable for all new sheets?
Do i need to copy this entire code into all the new sheets every time, in case if i want to use this function?
Thanks!
Hello,
When I am converting Excel File into PDF its now showing Amount in words its showing #NAME?
How to write formula for
2675.20
TWO THOUSAND SIX HUNDRED SEVENTY FIVE AND CENTS TWENTY ONLY
Please help me.
Can you send the formula as per given below: 1500.250
"One Thousand Five Hundred And Baisa 250/1000 Only
Thank you so much :), It works perfectly
Hi, I need this code for windows 10/Excel 365 in both Euro and Dollars. The one provided on the website doesn't work... it highlights Function SpellNumber(ByVal MyNumber) and errors. Either with #VALUE or just shows the formula. Can someone please help?
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
I want to publish as Dirhams and Fils instead of Dollars and Cents.
kindly help me.
Dear Experts,
I need a to convert like this
OMR 525,450.250
Omani Rial Five Hundred Twenty Five Thousand Four Hundred Fifty and Baizas Two Hundred Fifty Only
Kindly provide me the solution.
Avinash
I want to SpellNumber as US Dollar One Thousand Four Hundred and Twenty Five and Cents 24 Only for 1,425.24. Please help me.
Hi Experts,
Kindly update the macro for 3 decimal points.(100.250 ie One hundred and two fifty only).
Thanks in advance
Can you please help the exact keyword for peso?
i want to write number in word pnly
perfect.
How can we convert current on three decimal places in words
For example 1,000.500 (One thousand ruppes and five hundred bz
how to convert marks in words up to 100 only.
please worte a link to this mail
what if i want to convert the numbers only without currency like "dollars" what will be the code?
Hi sir!
Good pm
Ask ko po sana pano po iconvert numbers to peso in excel 2016 windows 10.using this format po: ex.: 120.50
One Hundred Twenty Pesos and 50/100 Only
Thanks Sir! GOD BLESS
Function SpellNumber(ByVal MyNumber) - -During running the formula , error occurs in MyNumber
Convert
1.Four thousand three hundred and thirty to number figures
2.Three thousand and eighteen to number figures
3.Eight thousand and forty three to number figures
4.Nine thousand and seventy seven to number figures.
Convert
5. 9,44 to English words
6. 2,019 to English words
7. 7,003 to English words
Thanks.
HOW TO MAKE IT APPLY ON EVERY EXCEL SHEET
can you remove the . before the cents and add a zero? eg. .1/100 Only to 10/100 Only
do you have the VBA code to convert numbers in French words
Hi can anyone share me the excel add-in file of the Spell Number in USD? i cannot fine the excel Add-in File.
currently we are using spellnumber like this.
370,932.04 = Three Hundred Seventy Thousand Nine Hundred Thirty Two & 4/100 Pesos Only
But due to bank requirement it should be like this.
Three Hundred Seventy Thousand Nine Hundred Thirty Two & 04/100 Pesos Only
Please help me how to do it. Thanks in advance
Thank you for this. But how to do it like this: 190708 turn to (One-Nine-Zero-Seven-Zero-Eight)
Is there a way to do it like that? Thank you very much!
I would like this one for Bahraini Dinar..as the whole process and change the currency there will be always an error. please help me on this...