KutoolsforOffice — One Suite. Five Tools. Get More Done.

How to convert currency to words text in Excel?

AuthorSiluviaLast modified

For non-native speakers who use English as their second language, sometimes is hard to directly change the currency number to English words when the number is too long. In this article, you will learn how to easily convert currency to words text in Excel.

Convert currency to words with VBA code
Convert currency to words with Kutools for Excel

FeatureVBA User-Defined FunctionKutools for Excel
Best forUsers who want a reusable custom function for converting currency numbers to English wordsBest for fast batch conversion, international currencies, or multilingual output
Output formatConverts values to words such as Dollars and CentsConverts selected values to currency words based on the chosen language/currency
Currency supportUSD by default; other currencies require modifying the VBA codeSupports 40+ currency formats, including USD, EUR, GBP, JPY, CNY, and more
Language supportEnglish in the provided codeSupports multiple languages
Setup complexityAdvancedVery simple
Main advantageReusable and customizableFast, no coding, and supports many currencies and languages
Main limitationRequires VBA knowledge and code maintenanceRequires Kutools for Excel

Convert currency to words with VBA code

With the below VBA code, you can convert currency number to English words.

1. Press Alt + F11 to open the Microsoft Visual Basic for Applications dialog box.

2. In the Microsoft Visual Basic for Applications dialog box, click Insert > Module. Then copy and paste the below code into the code window.

VBA code: Convert currency number to English Words

Function NumberstoWords(ByVal pNumber)
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
NumberstoWords = 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. Press Alt + Q keys simultaneously to close the Microsoft Visual Basic for Applications dialog box.

4. Select a blank cell (B1) which is adjacent to the cell you want to convert to words, enter the formula =NumberstoWords(A1), and then press the Enter key.

A screenshot showing the NumberstoWords formula being applied to convert currency to words in Excel

Note: A1 is the cell contains the currency number. You can change it as you need.

5. Select the cell B1, drag the Fill Handle down to get all English words of the currency numbers.

A screenshot showing currency numbers converted to English words in Excel using VBA


Convert currency to words with Kutools for Excel

If you prefer not to use VBA, Kutools for Excel offers a much easier solution with its Numbers to Words feature. It can quickly convert numbers into words in 40+ currency formats, including USD, EUR, GBP, JPY, CNY, and more. With just a few clicks, you can generate properly formatted currency text in multiple languages, making it especially useful for financial reports, invoices, and international transactions while reducing manual work and conversion errors.

Before applying Kutools for Excel, please download and install it firstly.

1. Select the cells with the currency numbers you want to convert.

2. Click Kutools > Content > Numbers to Words. See screenshot:

A screenshot showing the Kutools for Excel Numbers to Words utility for converting currency to words

3. In the Numbers to Currency Words dialog box, select English option, and click the OK or Apply button.

A screenshot of the Numbers to Currency Words dialog

Now the selected currency numbers are converted to English words immediately.

A screenshot of the Numbers to Currency Words dialog

Kutools for Excel - Supercharge Excel with over 300 essential tools, making your work faster and easier, and take advantage of AI features for smarter data processing and productivity. Get It Now


Conclusion

Converting currency values into words can improve clarity and accuracy in invoices, checks, financial reports, and other business documents.

If you are comfortable with macros and need a reusable, customizable solution, a VBA User-Defined Function is a good choice. If you prefer a faster and easier method, Kutools for Excel lets you convert selected numbers into words without coding and supports multiple currencies and languages.

Choose the method that best fits your needs—VBA for greater flexibility and customization, or Kutools for Excel for quick and convenient batch conversion.

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
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!

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!

All Kutools add-ins. One installer

Kutools for Office suite bundles add-ins for Excel, Word, Outlook & PowerPoint plus Office Tab Pro, which is ideal for teams working across Office apps.

ExcelWordOutlookTabsPowerPoint
  • All-in-one suite — Excel, Word, Outlook & PowerPoint add-ins + Office Tab Pro
  • One installer, one license — set up in minutes (MSI-ready)
  • Works better together — streamlined productivity across Office apps
  • 30-day full-featured trial — no registration, no credit card
  • Best value — save vs buying individual add-in