Converting number into text - spellnumber excel function

It is often useful to have a function to convert numbers into words in Excel. It will be very handy in accounts. I have written an Excel macro to convert numbers into text. I have already created a macro which will convert a number in Indian system - that is ##,##,### format, to words. You can find it here 

Now I have come up with a macro which does the same thing with the western numbering system, that is 3 digits separation like ###,###,###. The dollar is used as currency, but it can be changed to any currency just by changing the text "Dollar". You can do that by finding replacing.

How to use it:
1. Download the Excel VBA macro module from here 

2. Open Excel 

3. Press Alt + F11 
    A window will open, it is called Visual Basic Editor aka VBA editor. 

4. In the VBA editor select Insert, Module. 
    A new module will be created at the left side pane, on the right side you can see a blank pane. Paste your code here 
    
    Or, alternatively, you can import the module directly
    
5. Save and go back to Excel by pressing Alt + F11

6. In the Excel worksheet, select Formula and them Insert. You will see a dialog with available functions.
    You have to browse to User Defined Functions to your macro by     name ConvertCurrencyToEnglish_spellnumber
    select and provide proper input 


Here is a video showing steps clearly 

Another version of macro for Indian number system


The latest version of SpellNumber

The latest version 4.0 of MS Excel currency converter has been released. It has the following bug fixes.

See here how to use it in your excel workbook.



It used to give the wrong result for a value between 1,99,999 to 9,99,999.



It has been fixed now in version 4.0 download the latest module here 


You can download the complete excel file here


Direct access 









MS Excel currency converter - Number to words Latest version

MS Excel currency converter 3.0 has been updated with bug fixes.

This is the new version of my amazing currency converter VBA utility for MS Excel. The macro will convert the currency number which is in number to text. For example, Rs. 14,250 is a common standard to represent the money of Indian Rupees Fourteen Thousand, Two Hundred and Fifty. This VBA code takes the input as 14250 and prints as 'Fourteen Thousand, Two Hundred and Fifty'.

It can be used in writing cheques, generating financial reports, MIS reports, and other accounting purposes. If you are familiar with accounting software such as Tally, you will know that the current number is converted into text. But this feature is not available in MS Excel.

The earlier version had few bugs which were reported by the users. I have fixed them in this version. 

Below is the list of bugs fixed

1. For 1000 and 100000 it was resulting in a null string. Now it has been fixed.

You can download the VBA module here. After downloading go to your Excel VBA editor. Then, go to Insert Menu, Insert Module. Paste the VBA code just downloaded. Go back to your excel spreadsheet by pressing ALT+F11. Start using the new function.

Download

Download here the Complete Excel.

Download
Please let me know if you have any specific questions to currency converter or any generic VBA code questions. If you are looking for any new features in MS Excel or MS Word, I will try to implement them in using the VBA code.