## How to spell out or convert numbers to English words in Excel?

Supposing you have a lot of price amount numbers, and now you need to convert or spell out them to text strings. For example, convert \$123.55 to the English words one hundred twenty-three dollars and fifty five cents. In Excel there are no effective facility to solve this problem but using the long and complex VBA code. In this article, I will introduce you some methods to deal with it.

Spell out or convert numbers to English words with VBA code

#### Spell out or convert numbers to English words with VBA code

The following long VBA code can help you to spell out numbers to text strings. Do as follows:

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following macro in the Module window.

VBA: Spell out currency numbers to English words in Excel

``````Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
Dim Dollars, Cents
arr=Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber=Trim(Str(pNumber))
xDecimal=InStr(pNumber, ".")
If xDecimal > 0 Then
Cents=GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber=Trim(Left(pNumber, xDecimal - 1))
End If
xIndex=1
Do While pNumber <> ""
xHundred=""
xValue=Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue=Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred=GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred=xHundred & GetTens(Mid(xValue, 2))
Else
xHundred=xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars=xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber=Left(pNumber, Len(pNumber) - 3)
Else
pNumber=""
End If
xIndex=xIndex + 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
SpellNumberToEnglish=Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result=""
If Val(Left(pTens, 1))=1 Then
Select Case Val(pTens)
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
Select Case Val(Left(pTens, 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(pTens, 1))
End If
GetTens=Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
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
``````

3. Then save the code, and return to the worksheet, in the adjacent Cell B2, enter the formula =SpellNumberToEnglish(A1), see screenshot:

4. Then press Enter key, and select the Cell B2, then drag the fill handle over to the range that contains this formula as you need. And all of the currency numbers have been spelt out to English words. See screenshot:

Note: As they are formulas, when you need to copy and paste them, please paste as values.

#### Spell out or convert numbers to English words with Kutools for Excel

Maybe the above long code can make you be mad, please don't worry, here I can give you an easy and quick way to solve it. With the Kutools for Excel’s Numbers to Words function, you can quickly and conveniently convert the numbers to text strings.

Kutools for Excel- Includes more than 300 handy tools for Excel. Full feature free trial 30-day, no credit card required!Get It Now

1. Select the range numbers that you want to spell out, and click Kutools > Content > Numbers to Words.

2. In the popping out dialog box, choose English from the Languages. And you can preview the results from the right Preview Pane. See screenshot:

3. Then click Ok or Apply. And all of the price amount numbers have been converted to text strings in the original range.

Note: If you just want to convert numbers to English words (not currency), please check Not converted to Currency checkbox.

This fantastic feature of Numbers to Words can easily translate currency numbers to the text of currency in English or Chinese, such as translate 32.01 to "Thirty-two dollars and one cent" or "叁拾贰元零壹分". Have a Free Trial!

### Best Office Productivity Tools

 🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions… Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |  Round without Formula ... Super Lookup: Multiple Criteria VLookup  |   Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup .... Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List .... Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ... Featured Features: Grid Focus   |  Design View   |  Big Formula Bar   |  Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells   |  Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ... Top 15 Toolsets:  12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...

#### Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

• Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
• Open and create multiple documents in new tabs of the same window, rather than in new windows.
• Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
This comment was minimized by the moderator on the site
Hi! How would I go about adding hyphens ( - ) between compound numbers, so instead of it spelling 55 as Fifty Five it would spell Fifty-Five. Simply adding hyphens to all "tens" obviously doesn't work since that would mean tat 20,000,000 would be spelled as "Twenty- Million". Thanks to whoever can solve this!
This comment was minimized by the moderator on the site
Hi! How would I go about adding hyphens ( - ) between compound numbers, so instead of it spelling 55 as Fifty Five it would spell Fifty-Five. Simply adding hyphens to all "tens" obviously doesn't work since that would mean tat 20,000,000 would be spelled as "Twenty- Million". Thanks to whoever can solve this!
This comment was minimized by the moderator on the site
not suitable for indian currency allways show in doller
This comment was minimized by the moderator on the site
Hi prem,
At present, this Numbers to Words feature enables to convert numbers to Chinese Yuan and US Dollars.
There are no comments posted here yet