*In this article I will show you two quick and free ways to convert currency numbers into English words in Excel 2016, 2013 and other versions.*

Microsoft Excel is a great program to calculate this and that. It was initially developed to process large data arrays. However, it also lets creating accounting records like invoices, evaluation or balance sheets quickly and effectively.

In more or less solid payment documents it is necessary to duplicate numeric values with their word form. It is much harder to falsify typed numbers than those written by hand. Some swindler can try to make 8000 out of 3000, while it is almost impossible to secretly replace "three" with "eight".

So what you need is not just convert numbers to words in Excel (е.g. 123.45 to "one hundred and twenty three, forty five"), but spell out dollars and cents (е.g. $29.95 as "twenty nine dollars and ninety nine cents" ), pounds and pence for GBP, euros and eurocents for EUR, etc.

Even Excel 2016 doesn't have a built-in tool for spelling numbers, not to mention earlier versions. But that is when Excel is really good. You can always improve its functionality using formulas in all their

combinations, VBA macros, or third-party add-ins.

**Below you'll find two ways to convert numbers from figures to words**

And, possibly, you may need to convert Words to Numbers in Excel

`=text()`

.
Please find the details in the article Ways to convert numbers to text in Excel.

As I have already mentioned, Microsoft didn't want to add a tool for this task. However, when they saw how many users needed it, they created and published the special VBA macro on their website. The macro does what its name SpellNumber suggests. All other macros I came across are based on the Microsoft code.

You can find the macro mentioned as "spellnumber formula". However, it is not a formula, but a macro function, or to be more precise *Excel User defined function* (UDF).

The spellnumber option is able to write dollars and cents. If you need a different currency, you can change "*dollar*" and "*cent*" with the name of your one.

If you are not a VBA savvy guy, below you will find a copy of the code. If you still don't want or haven't time to sort this out, please use this solution.

- Open the workbook where you need to spell the numbers.
- Press Alt+F11 to open the Visual Basic editor window.
- If you have several books opened, check that the needed workbook is active using the list of projects in the upper left corner of the editor (one of the workbook elements is highlighted with blue).
- In the editor menu go to
*Insert*->*Module*.

- You should see a window named YourBook - Module1. Select all of the code in the frame below and paste it to this window.

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 " 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 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 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

- Press Ctrl+S to save the updated workbook.
You will need to resave your workbook. When you try to save the workbook with a macro you'll get the message "

*The following features cannot be saved in macro-free workbook*"Click No. When you see a new dialog, chose the Save as option. In the field "

*Save as type*" pick the option "*Excel macro-enabled workbook*".

Now you can use the function *SpellNumber* in your Excel documents. Enter `=SpellNumber(A2)`

into the cell where you need to get the number written in words. Here A2 is the address of the cell with the number or amount.

Here you can see the result:

**Voila!**

If you need to convert the entire table, not just 1 cell, place your mouse cursor to the lower right corner of the cell with the formula until it turns into a small black cross:

Left-click and drag it across the column to fill in the formula. Release the button to see the results:

You can also enter the number directly into the function, for example,

`=SpellNumber(29.95)`

(29.95 - without quotation marks and the Dollar sign).
First off, you must know VBA to modify the code according to your needs. It is necessary to paste the code for each workbook, where you plan to change it. Otherwise, you will need to create a template file with macros and configure Excel to load this file at each start.

The main disadvantage of using a macro is if you send the workbook to somebody else, this person will not see the text unless the macro is built into the workbook. And even if it's built-in, they will get an alert that there are macros in the workbook.

For active Excel users who need to quickly spell sums but don't want to learn VBA or other workarounds, one kind developer created a free add-in - POPUP SPELL NUMBER for Microsoft Excel

Besides being ready for use, the tool is really flexible in converting numbers. You can choose the text case of the result (lower case, Title Case, Sentence case, UPPER CASE ), also you can select how you want to see the fraction:

- Spells the fraction in cent/cents, оr penny/pennies, оr penny/pence, or centavo/centavos
- Spells decimal point, each zero and the rest of the number as an integer.
- Doesn't spell the fraction but writes it as a fraction with denominator of 100, 1000, 1000000

Feel free to explore its possibilities on the product's home page.

The author states that it's tested and works in Excel for Windows 2000, 2002(XP), 2003, 2007, 2010 (32-bit), and 2013 (32-bit) in MSI-based and Click-To-Run installations of Office 365 cloud-based services.

I hate to say that the **add-in doesn't work with 64-bit versions of Excel** 2010, 2013, 2007. And it is a considerable obstacle since these versions are becoming more and more popular. So lucky you are if you have Excel 32-bit :) Feel free to download the add-in and check it out.

If you are the one with Excel 64-bit like me, drop the author a line and ask him for a special version.

Frankly, I can't imagine why you may need it. Just in case... :)

It appears that Excel MVP, Jerry Latham, created such Excel User defined function (UDF) as **WordsToDigits**. It converts English words back to number.

You can download Jerry's WordsToDigits workbook to see the UDF code. Here you'll also find his examples of how to use the function.

You can see how the function works on the sheet "*Sample Entries*", where you will also be able to enter your own examples. If you plan to employ WordsToDigits in your documents, please be informed that this function has restrictions. For example, it doesn't recognize fractions entered in words. You will find all the details on the "*Information*" sheet.

Excel formulas
CSV
Excel functions
Print
Vlookup in Excel
Merge data in Excel
SumIf
Excel CountIf
Excel Compare
Excel If statement
Excel Charts
Pivot Table
Updates
Excel conditional formatting
Excel formatting
Excel time
Excel duplicates
Excel date
Excel tips
Excel macro
Outlook
Google Sheets
Outlook duplicates
Outlook templates

## 384 Responses to "Two best ways to convert numbers to words in Excel"

Sir, How can i convert dollar into Rupees and cent Into paisa in SpellNumber. I mean i want to change numeric value into words in pakistani currency. Kindly guide.

Your early response must be appreciated

Umer its very simple, after copying the above formula into module press CTRL+H and replace the word Dollar with Rupee and Cent with Paisa and then safe the module.

Beautiful!!!!

Thank you for posting and making it so easy to implement. Really helped out in a crunch.

Please send me same excel sheet with formula,

This one how do the amount currency change?

Hi,

Can i have a copy of the formula in excel for the converted value, please ?

Thank You So Much :)

If you want only integers to be spelled no decimals.. here is the code

Option Explicit

'Main Function

Function SpellNumber(ByVal MyNumber)

Dim Rupees, Paisas, 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 Paisas and set MyNumber to Rupee amount.

If DecimalPlace > 0 Then

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 Rupee"

Case Else

Rupees = Rupees & " Rupees"

End Select

SpellNumber = Rupees

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

"Ctrl+H" and replace "Rupees & Rupee" to your respective currency

how can we add the word "Only" in this macro to have this word at the end of the spelled values?

Hi Sohaib

If You Want To Add "Only"

then

You have to use "Spellnumber" with "Concatenate" Formula

Eg:

If the Value in Number in Cell A1 then

Apply Formula Like This

=CONCATENATE(SpellNumber(A1)," Only")

Hope Will Be Useful

Super helpful. It's also useful if you have a currency in 2 words, like Ugandan Shilling. You can replace Dollars only with 1 word.

so I replaced Dollars by Ugandan and I added Shillings, in the end, with CONCATENATE instead of Only.

=CONCATENATE(SpellNumber(A1)," Shillings")

Some errors in that code for me, I've fixed and changed to UK Pounds, also added "and" between the thousand and the hundreds, and a comma.

Option Explicit

'Main Function

Function SpellNumber(ByVal MyNumber)

Dim Pounds, Pence, 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 Pence and set MyNumber to Pounds amount.

If DecimalPlace > 0 Then

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do While MyNumber ""

Temp = GetHundreds(Right(MyNumber, 3))

If Temp "" Then Pounds = Temp & Place(Count) & Pounds

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

Loop

Select Case Pounds

Case ""

Pounds = "No Pounds"

Case "One"

Pounds = "One Pound"

Case Else

Pounds = Pounds & " Pounds"

End Select

SpellNumber = Pounds

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 and "

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

Sir,

Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2007.

Thanking you

Dear Stephen,

please send me excel sheet for

converting same

I have a lot of city name and code

Example

i type a code 001 At Cell (A1) - spell Number will show (american) at the another sheet

i type a code 002 At Cell (A1) Also - spell Number will show (african) at the another sheet and so on... I have a lot of city name to make it, please help me

Thanks

Dear Kindly let me know in dirham how to change spellnum in dirham

Dear Stephen,

please send me excel sheet for converting same Pls

thanks

please suggest me how to use spellnumber in excel ,i fallowed your steps as u say ,the results came" #name?,",like that,so plz show me right usage .....

i want number to ward in rupees and due to this formula it comes into dollars, than what's the step for it..............

Hi Sir,

I am very much need the program that convert the numbers in to English words in excel 2007.(Ex: 11- One One, 20- Two Zero, 21-Two Zero like that)

Please send me the solution for above querry,

it is very much urgent..

thank you very much..

i use the module, but our central bank required us to put a "ONLY" word in the end of the Check. how can i do this?

Please the code to convert amount to words is excellent, only i think there's something missing. after the code is pasted in Excel Module, and you key-in 420, the result that comes is: Four Hundred Twenty Dollars and No Cents. But am expecting Four Hundred and Twenty Dollars and No Cents. This means the an "and" is missing in-between Hundred and twenty. Thank you and looking forward to hear from you soon.

Can i get modules for spellnumbers in words with cents. I have those modules with currency. But i'm using multi currencies so i don't want modules with currencies. Please help email me the modules which i request. Urgent. Please and Thanks.

Regards,

Puvanah

How can we split the amount in words into 2 lines in case 1 line is not enough to accommodate the amount in words? This is needed when printing on pre-printed cheque leaves.

Can anyone please help on the above?

Dear . Alexander Frolov

Thanks for the formula, its works nicely

Dear Sir please send me the copy of these excel sheet please ,as soon as possible , please please

Thank you! Copied and pasted the module, saved my file as an .xlm and bada-boom!

how to delete the rows using check bos in excel.

Working done ,

after save i close this file again open try modify and try change then its showing error

Hi all,

Can someone assist me to write

1020 as one thousand and twenty not one thousand twenty please.

Thank you in advance

Just put "and ..." on GetTens' function, dude

What if I would like to put a special name?

ex. for 100 will be "clint"

Therefore,

100 = Clint

150 = Clint Fifthy

123 = Clint Twenty Three

etc..

NB: Only for "100"

If you want the word 'Clint' to stand for '100', you will need to modify the code. Try asking for it on MrExcel forum.

It is very simple to convert dollar into your currency for example if you have a Rupee go to Module (micro-soft visual basic) enter Ctrl + R just replace dollar and cent with your currency.

Thanks for more details kindly contact on my email. asifashraf930@gmail.com

Please send me the excel sheet for converting dollars to words. I tried to paste from an earlier Spellnumber post using VBA but I get a #Name error.

Thank you.

The VBA code from the example above works perfectly when we try it. Please, repeat the steps from the tutorial making sure that you paste the code without losing any lines, and save your document in the proper way as it is described. If this still doesn't help, try our add-in. If the error won't disappear, send us your workbook and the link to this article and your comment to support@ablebits.com.

Dear sir, please how to make wordstodigit formula details

Very useful and clear explanation. 5 Star:D

Thank you for sharing this information with us.

Thnks for ur help. Its been a pleasure to have guidance.

I have follwed your instruction & But still the error as #Name is apprearing on the spell number formula. please help

Please send me also

Please kindly send me the formula also.

Many thanks.

Please email formula convert to Ringgit Malaysia (RM)

Many thanks to admin

Please email formula convert number to word

I have tried and it was successful. But it was all in dollars.. How about in Qatar Riyals? How can i do it? Can you feed the module formula?

I have a file containing multiple sheets the first of which is an index

sheet. The other sheets are hidden. I want to be able to click on a

hyperlink in the index sheet that will send me to the hidden sheet and

open it.

Is this possible ?

Hi, I have an issue where i am trying to spellnumber a figure in a summed cell. I have changed the currency to GBP and Pence, but the spell number keeps minusing 1 Pence from the written number. If i do it on an un-summed cell it works fine.

PLEASE HELP!?

Hello David,

I'm sorry, but we can't reproduce this issue on our side, the function spells numbers from a summed cell correctly. Could you try to follow the steps from the post again and check if it works for you?

HI Irina

It was only happening between numbers involving 40-70. Very strange as other than that it works perfectly other than not putting an 'and' in after hundred but we can add that in no probs.

Quite happy to send the doc if required.

Hi David,

Thank you for the details. It would be great to have a look at the document, please send it to support@ablebits.com with a link to this post, it may help us understand what is causing this strange behaviour.

Hi Irena

I have emailed you the document as requested. Hope you can help :)

Thank you for the document, David.

The problem is that the formula results are rounded in Excel, while VBA gets a string and converts only the first 2 characters after the separator. To avoid this issue, please use the following formula instead:

=spellnumber(ROUND(N24,2))

UpTo 1 Lac Not Convert To In Word Please Help

Dear David ,

In reference to Irina's chat string the same sheet is required by me .I am unable to poke in hours in preparing the formulation ready sheet

Much oblighed

Sincerely 'very faithfully

CEEN

Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2016

Awaiting for reply...

Hi Dear, Can you pleases help to fix the decimal up to 3 Digit. Like below:

45.975 -Forty Five Dollar and Nine Hundred seventy Five Cents.

Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2007.

Also please suggest me how to use spellnumber in excel ,i fallowed your steps as u say ,the results came" #name?,",like that,so plz show me right usage

I am waiting for your reply Thanks Muhammad Ashfaq from Pakistan Karachi.....

Hi, Congrats, It is very helpful. Thank you so much.

How to make change the words starting with Dollars & Cents first.

Eg. Rupees One hundred and Paisa Fifty Only instead of One hundred Rupees and Fifty Paisa Only.

Br//

Prem

modules after what are the doing

modules after what are the doing 1

Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2007

Hello Prem,

Thanks,man. it helped me out.

Regards:

Mozammel

Chittagong, Bangladesh.

This is awesome! I know nothing about VBA but it still made it happen with this so Thanks a ton. however, how do I exclude cents/paisa from the code?i.e. will not need any decimals.

Thanks again.

I write this formula

=CONCATENATE("US ",spellnumber(cell),"***")

I don't know what's wrong it issue "Name?" Anyone can answer me?

Many Thanks,

Alicia

i need to display my currency in riyal instead of dollars ...

I was able to use the SpellNumber successfully for all numbers except for numbers that are only in the thousands with any other numbers (e.g. 54,000 or 30,000). I get two spaces before the word Dollars. I had a similar problem with numbers that ended in the hundred dollars and numbers that ended with 20, 30, 40, 50, 60, 70, 80 and 90. To fix the problem, I changed the GetHundreds = Result to GetHundreds = Trim(Result) and GetTens = Result to GetTens = Trim(Result). I don't know how to change the code for numbers that are only in the Thousands.

In spanish we do not say "Three hundred" in two words, we say "Trecientos" in one word. Is there a say to add another clause to list numbers from 100-999

I try to add this but I am getting an error

Else ' If value between 100-999...

Select Case Val(Left(TensText, 1))

Case 20: Result = "Ciento"

Case 21: Result = "Doscientos "

Case 22: Result = "Trescientos "

Case 23: Result = "Cuatrocientos "

Case 24: Result = "Quinientos "

Case 25: Result = "Seicientos "

Case 26: Result = "Setecientos "

Case 27: Result = "Ochocientos "

Case 28: Result = "Novecientos "

Sir, If We Want to Remove Cents What Will We Don Please Reply me

Sir, If We Want to Remove Cents What Will We Don Please Reply me

CAN I HAVE A CODE THAT CONVERTS 11 TO ONE ONE OR 22 TO TWO TWO?

The VBA code is in the article above.

Joseph:

The VBA code is in the article above or you need a third party tool.

Can i get rid of the dollar / dollars word?

example: 6,130.20 = Six Thousand One Hundred Thirty and Twenty Cents

if required "27605.02" to Twenty Seven Thousand Six Hundred and Five and 02/100?

ICE LEE:

The VBA code is in the article above or you need a third party tool.

i wont to convert amount in block letters. how to do it

Malinda:

If the "block letters" are text the answer is the VBA code above or a third party tool. If the letters are not text, but a picture or something else, you'll have to type them as text.

Why i can't get the right word

For example 760.75

Ringgit Malaysia seventy six thousand seventy five only

Can u help me

Why i can't get the right word

For example 760.75

Ringgit Malaysia seventy six thousand seventy five only

But if no cents, the word is right

Can u help me

How to convert lakhs into words

What if I only wanted dollar not the cents.

does anyone here know how to program this:

Php9,876,543.10

Nine Million Eight Hundred Seventy-Six Thousand Five Hundred Forty-Three Pesos and 10/100

How to format this?

Here are the cordings for Rupee Values

Option Explicit

'Main Function

Function SpellNumber(ByVal MyNumber)

Dim Rupees, 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 Rupee 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 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 Rupee"

Case Else

Rupees = Rupees & " 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 = Rupees & 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

SIR HOW CUT AND PAST THIS FUNCTION IN EXCEL SPREAD SHEET

Thank you everyone who made and updated this code. I appreciate it very much.

There was a small glitch if the ones digit was a zero, where $820.00 would read "Eight hundred Twenty and No Cents" (two spaces between "Twenty" and "and"). I remedied this by removing the space in front of Thousand, Million, Billion, Trillion, as well as the statements for cents, and Hundred. Then I added a space to the end of Ten through Nineteen, and Twenty through Ninety in GetTens, and One through Nine in GetDigit.

I am trying to come up with a means to hyphenate a two-digit number like 32 (Thirty-Two) while also leaving off the hyphen from two-digit number ending in 0 like 50 (Fifty). Any suggestions are welcome.

How to convert the 1,234 into One Thousand two hundred and thirty four

Hello

I want convert to Quantity PCS example : one hundred and ten pcs only.

but i don't know how to write down code

How to convert as follows:-

1. 1,234 = One Thousand Two hundred And Thirty Four

2. 1,200 = One Thousand And Two hundred?

3. 1,202.50 = One Thousand Two hundred Two And Cents Fifty?

4. 11,010 = Eleven Thousand And Ten?

Function NumToWord(ByVal N As Currency) As String

Const Ten = 10@

Const Hundred = Ten * Ten

Const Thousand = Ten * Hundred

Const Lakh = Thousand * Hundred

Const Crore = Lakh * Hundred

Const Million = Thousand * Thousand

Const Billion = Thousand * Million

Const Trillion = Thousand * Billion

If (N = 0@) Then NumToWord = "zero": Exit Function

Dim Buf As String: If (N < 0@) Then Buf = "negative " Else Buf = ""

Dim Frac As Currency: Frac = Abs(N - Fix(N))

If (N < 0@ Or Frac 0@) Then N = Abs(Fix(N))

Dim AtLeastOne As Integer: AtLeastOne = N >= 1

If (N >= Crore) Then

Buf = Buf & NumToWordDigitGroup(Int(N / Crore)) & " Crore"

N = N - Int(N / Crore) * Crore

If (N >= 1@) Then Buf = Buf & " "

End If

If (N >= Lakh) Then

Buf = Buf & NumToWordDigitGroup(Int(N / Lakh)) & " Lakh"

N = N - Int(N / Lakh) * Lakh

If (N >= 1@) Then Buf = Buf & " "

End If

If (N >= Thousand) Then

Buf = Buf & NumToWordDigitGroup(N \ Thousand) & " Thousand"

N = N Mod Thousand

If (N >= 1@) Then Buf = Buf & " "

End If

If (N >= Hundred) Then

Buf = Buf & NumToWordDigitGroup(N \ Hundred) & " hundred"

N = N Mod Hundred

If (N >= 1@) Then Buf = Buf & " "

End If

If (N >= 1@) Then

Buf = Buf & NumToWordDigitGroup(N)

End If

NumToWord = Buf

End Function

Private Function NumToWordDigitGroup(ByVal N As Integer) As String

Const Hundred = " hundred"

Const One = "one"

Const Two = "two"

Const Three = "three"

Const Four = "four"

Const Five = "five"

Const Six = "six"

Const Seven = "seven"

Const Eight = "eight"

Const Nine = "nine"

Dim Buf As String: Buf = ""

Dim Flag As Integer: Flag = False

Select Case (N \ 100)

Case 0: Buf = "": Flag = False

Case 1: Buf = One & Hundred: Flag = True

Case 2: Buf = Two & Hundred: Flag = True

Case 3: Buf = Three & Hundred: Flag = True

Case 4: Buf = Four & Hundred: Flag = True

Case 5: Buf = Five & Hundred: Flag = True

Case 6: Buf = Six & Hundred: Flag = True

Case 7: Buf = Seven & Hundred: Flag = True

Case 8: Buf = Eight & Hundred: Flag = True

Case 9: Buf = Nine & Hundred: Flag = True

End Select

If (Flag False) Then N = N Mod 100

If (N > 0) Then

If (Flag False) Then Buf = Buf & " "

Else

NumToWordDigitGroup = Buf

Exit Function

End If

Select Case (N \ 10)

Case 0, 1: Flag = False

Case 2: Buf = Buf & "twenty": Flag = True

Case 3: Buf = Buf & "thirty": Flag = True

Case 4: Buf = Buf & "forty": Flag = True

Case 5: Buf = Buf & "fifty": Flag = True

Case 6: Buf = Buf & "sixty": Flag = True

Case 7: Buf = Buf & "seventy": Flag = True

Case 8: Buf = Buf & "eighty": Flag = True

Case 9: Buf = Buf & "ninety": Flag = True

End Select

If (Flag False) Then N = N Mod 10

If (N > 0) Then

If (Flag False) Then Buf = Buf & "-"

Else

NumToWordDigitGroup = Buf

Exit Function

End If

Select Case (N)

Case 0:

Case 1: Buf = Buf & One

Case 2: Buf = Buf & Two

Case 3: Buf = Buf & Three

Case 4: Buf = Buf & Four

Case 5: Buf = Buf & Five

Case 6: Buf = Buf & Six

Case 7: Buf = Buf & Seven

Case 8: Buf = Buf & Eight

Case 9: Buf = Buf & Nine

Case 10: Buf = Buf & "ten"

Case 11: Buf = Buf & "eleven"

Case 12: Buf = Buf & "twelve"

Case 13: Buf = Buf & "thirteen"

Case 14: Buf = Buf & "fourteen"

Case 15: Buf = Buf & "fifteen"

Case 16: Buf = Buf & "sixteen"

Case 17: Buf = Buf & "seventeen"

Case 18: Buf = Buf & "eighteen"

Case 19: Buf = Buf & "nineteen"

End Select

NumToWordDigitGroup = Buf

End Function

How can numbers be converted with no currency and if no cents to ignore cents bit

Example

5,455/= Five thousand Four hundred fifty five only

5,455.50/= Five thousand Four hundred fifty five and Fifty cents only

I want to modify it for Indian system, I changed Dollar to Rupee, but changing Millions to Lakhs wont be correct as Million has 6 zeroes and Lakhs as 5. the array defined has terms differing by 3 zeroes, can you help out with modifying the array to incorporate Lakhs

Hi,

I'm trying to convert nums to words (in indian currency: like 448787 to four lakh fourty eight seven hundred eighty seven only),but its not happening.

Please help me & take me out of the problem.

Hi,

I'm trying to convert nums to words (in indian currency: like 448787 to four lakh fourty eight thousand seven hundred eighty seven only),but its not happening.

Please help me & take me out of the problem.

Hi Dear ,

I tried converting into indian rupees .

But CTRL+H function is not working

It is showing the error when I type "Dollars"as ' we couldnt find what you are looking for "

Pls help

Can someone please help me making such a code that I only get "numbers converted into words",in excel i.e., without dollar or any any currency attached to it. Say I want to convert 2, 34 and 56, can it directly read two, thirty four , and fifty six respectively.

I will appreciate such help.

i got a problem with the excel which is unknown format number, i want to convert that in to 10 digit mobile numbers

EX - ffffec0704fb682e5547b7d0d3da5527

Thank you !

Well done for Dinars and Euros !

hi,

I need to know how i can break the lines of number in words as if the word is too long i need to print in the second line of cheque. how i can do that.

hello sir please provide code for Indian currency

example. 100000 = one lac only

1000 = one thousand

100 = one hundred

1000000 = ten lac only

10000000 = one crore only

hello sir please provide code for Indian currency

example. 100000 = one lac only

1000 = one thousand

100 = one hundred

1000000 = ten lac only

10000000 = one crore only

since our currency is peso and the cents are express as centavos, i modified the code to reflect our currency...

Option Explicit

'Main Function

Function SpellNumber(ByVal MyNumber)

Dim Pesos, Centavos, 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

Centavos = 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 Pesos = Temp & Place(Count) & Pesos

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

Loop

Select Case Pesos

Case ""

Pesos = "No Pesos"

Case "One"

Pesos = "One Peso"

Case Else

Pesos = Pesos & " Pesos"

End Select

Select Case Centavos

Case ""

Centavos = " "

Case "One"

Centavos = " and One Centavo"

Case Else

Centavos = " and " & Centavos & " Centavos"

End Select

SpellNumber = Pesos & Centavos

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

after closing excel file and open again this method doesn't work.

please help me!

I Like This

Hi,

Please give me one solution for convert sum amount to words in excel

Hi EveryOne

Greeting for the day!!!

I need solution that how to unhide hidden row which is hidden by advanced filter in vba. When i select all sheet and unhide the rows but it not work. Please suggest if anybody have any idea for it.

Thanks,

Ependra Singh

9899808895

Can one use =spellnumber to convert ordinary numbers, not currency) to words. If so how.

Excellent & easy way to convert number in word ..

nothing to say .....

Please share the password of Popup Spell Zip File (add on to MS Excel) I have downloaded the Popup Spell Add on but while extracting it asks for password.

Please help

Every perfect, but error with unicode is "S" to "?"

How not spelled if no cents.

123=One hundred and twenty three.

But excel make it

One hundred twenty three.

How am I going to edit the code so that it can accept the "and" even when I type 20550 It should be able to read "Twenty Five Thousand Five Hundred and Fifty

Please Note the "and"

Finally it works on Excell 2010!!! Thank you, Sir!!

I followed your instructions and it works!

I am use this formula but there is not convert amount in word format instead of that i show the formula in sheet. pl guide me.

Can anyone help with it converting negative numbers?

for example:

-£120.69 reading as Minus One Hundred Pound and Sixty Nine Pence

How can I convert 123,156,236.64 KG into words? Please help me

Hello,

I'm trying to convert the numbers into a weight.

ex. 2000 = two thousand pounds

Is there a way to easily convert that?

Regards,

Bryan