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 7. Total comments: 530
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...
I dont want to show in word in Paisa.
Now showing
4567.23= Taka Four Thousand Five hundred Sixty Seven twenty three paise only.
But I want to show Like this:
4567.23= Taka Four Thousand Five hundred Sixty Seven only.
Please help me:
Function SpellNumber(amt As Variant) As Variant
Dim FIGURE As Variant
Dim LENFIG As Integer
Dim i As Integer
Dim WORDs(19) As String
Dim tens(9) As String
WORDs(1) = "One"
WORDs(2) = "Two"
WORDs(3) = "Three"
WORDs(4) = "Four"
WORDs(5) = "Five"
WORDs(6) = "Six"
WORDs(7) = "Seven"
WORDs(8) = "Eight"
WORDs(9) = "Nine"
WORDs(10) = "Ten"
WORDs(11) = "Eleven "
WORDs(12) = "Twelve "
WORDs(13) = "Thirteen "
WORDs(14) = "Fourteen "
WORDs(15) = "Fifteen "
WORDs(16) = "Sixteen "
WORDs(17) = "Seventeen "
WORDs(18) = "Eighteen "
WORDs(19) = "Nineteen "
tens(2) = "Twenty "
tens(3) = "Thirty "
tens(4) = "Fourty "
tens(5) = "Fifty "
tens(6) = "Sixty "
tens(7) = "Seventy "
tens(8) = "Eighty "
tens(9) = "Ninety "
FIGURE = amt
FIGURE = Format(FIGURE, "FIXED")
FIGLEN = Len(FIGURE)
If FIGLEN 1 Then
SpellNumber = "Taka "
ElseIf Val(Left(FIGURE, 9)) = 1 Then
SpellNumber = "Taka "
End If
For i = 1 To 3
If Val(Left(FIGURE, 2)) 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
ElseIf Val(Left(FIGURE, 2)) > 19 Then
SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
End If
If i = 1 And Val(Left(FIGURE, 2)) > 0 Then
SpellNumber = SpellNumber & " Crore "
ElseIf i = 2 And Val(Left(FIGURE, 2)) > 0 Then
SpellNumber = SpellNumber & " Lakh "
ElseIf i = 3 And Val(Left(FIGURE, 2)) > 0 Then
SpellNumber = SpellNumber & " Thousand "
End If
FIGURE = Mid(FIGURE, 3)
Next i
If Val(Left(FIGURE, 1)) > 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 1))) + " Hundred "
End If
FIGURE = Mid(FIGURE, 2)
If Val(Left(FIGURE, 2)) 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
ElseIf Val(Left(FIGURE, 2)) > 19 Then
SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
End If
FIGURE = Mid(FIGURE, 4)
If Val(FIGURE) > 0 Then
SpellNumber = SpellNumber & " Paise "
If Val(Left(FIGURE, 2)) 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
ElseIf Val(Left(FIGURE, 2)) > 19 Then
SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
End If
End If
FIGURE = amt
FIGURE = Format(FIGURE, "FIXED")
If Val(FIGURE) > 0 Then
SpellNumber = SpellNumber & " Only. "
End If
End Function
28,205.8
How to write formula for
45556.545
Forty Five Thousand Five Hundred Fifty six JOD and five hundred forty five fils
Please help me.
can i change the currency like its dollars so can i change to dirhams and the fonts too
For Dirhams and Fills; but not tested if every amount will work out fine.
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Dirhams, Fills, 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 Fills and set MyNumber to dirham amount.
If DecimalPlace > 0 Then
Fills = 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 Dirhams = Temp & Place(Count) & Dirhams
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Dirhams
Case ""
Dirhams = ""
Case "One"
Dirhams = "One Dirham"
Case Else
Dirhams = Dirhams & " Dirhams"
End Select
Select Case Fills
Case ""
Fills = ""
Case "One"
Fills = " and One Fills"
Case Else
Fills = " and " & Fills & " Fills"
End Select
SpellNumber = Dirhams & Fills
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
This code is showing error for 100 crores it is showing 10 crores only
we require only mention in words, from any number for example
11,223,569 Eleven Million Two Hundred Twenty Three Thousand Five Hundred Sixty Nine Only
145,201 One Hundred Forty Five Thousand Two Hundred One Only
5,300 Five Thousand Three Hundred
Very Thanks
Akram Iqbal
can i get code in uae dhirham and fils
in exel cell my total amount that amound i want to convert
Thanks. This works. But now the question is how to permanenelty add this formula in excel 2016 because I need this in many sheets and everytime i'm unable to add formula in excel.
Formula updated from Dollar to Rupees
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Rupees, Paisa, 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
Paisa = 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 Paisa
Case ""
Paisa = " and No Paisa"
Case "One"
Paisa = " and One Cent"
Case Else
Paisa = " and " & Paisa & " Paisa"
End Select
SpellNumber = Rupees & Paisa
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
-------------------------------
Regards
Hey, thank you for the code. However, I am getting an error stating syntax error with Function SpellNumber(ByVal MyNumber) highlighted in yellow & Do while MyNumber"" highlighted too..
Please help!
It is very helpful for me. but some changes required.
if There is Multiple Decimals then how do we Convert calculation shows Wrong.
Example : 149.149 = Spellnumber(One Hundred Forty Nine Dollars and Fourteen Cents.
But it has to be fifteen Cents how to do it pls help.
dear sir,
what do if i want to spell a number in rupees ?
regard,
saurav narvekar
Thanks a lot for sharing formula. Amazing...
hi guys
i cant use VBA in my company lap .
please help me to convert number to text in INR format only by suing any formulas without using macros
hai, i need to change the above coding to indian currency
done. Thank you so much
Please help me get the above coding for converting Rupees as value
i got an error. "Ambiguous name detected: SpellNumber" ..how i gonna solve this?
Thanks a lot
Mate you are a genius - thanks a million
Mate you are a genius - thanks a million
Thanks a lot. i edited the currency bit from Dollars to GHCedis & Pesewas and it worked great! so grateful.