0% found this document useful (0 votes)
125 views1 page

Big Card Text

This VBA macro takes a large number in Microsoft Word and formats it with thousands separators and labels like "million" for readability. It identifies the number, extracts the digits, and conditionally inserts fields displaying the big number chunks and remaining digits with "CardText" formatting. Any number over 999999999 returns an error.

Uploaded by

M Azeem Iqbal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views1 page

Big Card Text

This VBA macro takes a large number in Microsoft Word and formats it with thousands separators and labels like "million" for readability. It identifies the number, extracts the digits, and conditionally inserts fields displaying the big number chunks and remaining digits with "CardText" formatting. Any number over 999999999 returns an error.

Uploaded by

M Azeem Iqbal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

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 might also like