Written by Allen Wyatt (last updated July 12, 2022)
This tip applies to Word 97, 2000, 2002, and 2003
In previous issues of WordTips you learned how to use a macro to convert numbers to words. For instance, you can convert 123 to one-hundred twenty-three. The previous incarnations of this macro were limited to numbers below one million. In this version, the ante has been upped a thousand times--this version of the VBA macro will successfully convert numbers up to 999,999,999.
Sub BigCardText() Dim sDigits As String Dim sBigStuff As String sBigStuff = "" ' Select the full number in which the insertion point is located Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdMove Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend ' Store the digits in a variable sDigits = Trim(Selection.Text) If Val(sDigits) > 999999 Then If Val(sDigits) <= 999999999 Then sBigStuff = Trim(Int(Str(Val(sDigits) / 1000000))) ' Create a field containing the big digits and ' the cardtext format flag Selection.Fields.Add Range:=Selection.Range, _ Type:=wdFieldEmpty, Text:="= " + sBigStuff + " \* CardText", _ PreserveFormatting:=True ' Select the field and copy it Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend sBigStuff = Selection.Text & " million " sDigits = Right(sDigits, 6) End If End If If Val(sDigits) <= 999999 Then ' Create a field containing the digits and the cardtext format flag Selection.Fields.Add Range:=Selection.Range, _ Type:=wdFieldEmpty, Text:="= " + sDigits + " \* CardText", _ PreserveFormatting:=True ' Select the field and copy it Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend sDigits = sBigStuff & Selection.Text ' Now put the words in the document Selection.TypeText Text:=sDigits Selection.TypeText Text:=" " Else MsgBox "Number too large", vbOKOnly End If End Sub
You should understand that to use the macro, all you need to do is place the insertion point anywhere within the number you want to convert. You need to make sure, however, that the number does not contain extraneous information, such as dollar signs or commas. When you run BigCardText, the macro checks to see if the selected number is over one million. If it is, it first works on the portion above one million, converting it to words. Then, the value below one million is converted. The final, full wording is put together and pasted back into the document, ready for use.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1442) applies to Microsoft Word 97, 2000, 2002, and 2003.
Do More in Less Time! An easy-to-understand guide to the more advanced features available in the Microsoft 365 version of Word. Enhance the quality of your documents and boost productivity in any field with this in-depth resource. Complete your Word-related tasks more efficiently as you unlock lesser-known tools and learn to quickly access the features you need. Check out Microsoft 365 Word For Professionals For Dummies today!
For certain types of writing, you may want to make sure that the sentences in your document do not exceed a certain ...
Discover MoreNeed to format your document using a macro? You can easily set the right margin for an individual paragraph by using the ...
Discover MoreWhen processing a document in a macro, you may need to make some of your text bold. It's easy to do using the Bold ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2020-09-22 11:51:47
Mohammad Ali
Hello!
I tested your code. Thank you for your effort. But I think your code has a problem. Displays the number 1000000 as follows:
"one million zero"
Thank you for solving the problem.
Thank You.
2020-04-16 09:40:17
zach
will this work if the number has commas and periods in it? like a dollar amount? It seems like i have to run it multiple times to get it to catch the whole number
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments