How to convert a numeric value into an English word?

October 2017

The Office Software Excel, offers users the option to carry out various operations on the data in the fields of the spreadsheet. A user defined function can be used to convert a numeric value to an English word. Some knowledge of programming concepts such as functions and looping techniques would help understand and write the functions, but is not essential. There are many resources available on the internet where functions that can be used to convert a numeric value to an English word can be downloaded and included in the Excel worksheets for free.

To convert a numeric value into an English word, here is the formula you will need:

This is a post from the forum, thanks to rajput391

Below, you will find the code to enter in your Excel sheet:
1. Press Alt+F11 > copy and pate in module (if module does not show insert module, click insert on menu bar > Module)
2. Alt+Q Save code and return to Excel sheet
3. Insert > function > user defined > A1 or relevant cell

```Function words(fig, Optional point = "Point") As String
Dim digit(14) As Integer
alpha = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
figi = Trim(StrReverse(Str(Int(Abs(fig)))))
For i = 1 To Len(figi)
digit(i) = Mid(figi, i, 1)
Next
For i = 2 To Len(figi) Step 3
If digit(i) = 1 Then
digit(i) = digit(i - 1) + 10: digit(i - 1) = 0
Else: If digit(i) > 1 Then digit(i) = digit(i) + 18
End If
Next
For i = 1 To Len(figi)
If (i Mod 3) = 0 And digit(i) > 0 Then words = "hundred " & words
If (i Mod 3) = 1 And digit(i) + digit(i + 1) + digit(i + 2) > 0 Then _
words = Choose(i / 3, "thousand ", "million ", "billion ") & words
words = Trim(alpha(digit(i)) & " " & words)
Next
If fig <> Int(fig) Then
figc = StrReverse(figi)
If figc = 0 Then figc = ""
figd = Trim(WorksheetFunction.Substitute(Str(Abs(fig)), figc & ".", ""))
words = Trim(words & " " & point)
For i = 1 To Len(figd)
If Val(Mid(figd, i, 1)) > 0 Then
words = words & " " & alpha(Mid(figd, i, 1))
Else: words = words & " Zero"
End If
Next
End If
If fig < 0 Then words = "Negative " & words
End Function```

Related

Published by aakai1056. Latest update on October 25, 2012 at 01:29 PM by Jeff.