Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Controlling the Format of Cross-References.

Controlling the Format of Cross-References

by Allen Wyatt
(last updated April 4, 2015)

Stephen asked if it is possible to control the format of cross-references inserted by Word. When he inserts a label and number such as Table 1 or Figure 12, he wants the label lowercase (table, figure) and a non-breaking space between the label and the number.

There is no way to control this type of cross-reference formatting in Word. Obviously you can change the cross-references manually after placing them, but whenever you update fields the original Word-chosen format will be used for them. There are a couple of macro-based solutions you can try. The first solution will change the actual field codes used for the field:

Sub FieldRefChanges1()
    On Error Resume Next
    Dim oStoryRng As Range
    Dim oFld As Field

    For Each oStoryRng In ActiveDocument.StoryRanges
        For Each oFld In oStoryRng.Fields
            If oFld.Type = wdFieldRef And oFld.Result.Words.Count <= 2 Then
                'add format switch with lowercase option to field codes
                oFld.Code.Text = oFld.Code.Text & "\* lower "
                'updates the field results to display the new format
                oFld.Update
            End If
        Next oFld
    Next oStoryRng
End Sub

The macro includes a couple of nested For loops. The first one steps through each story in the document, and the second goes through each field in each story. An If statement is then used to make sure that the field is a REF field (the kind used for cross-references) and that the result of the field is two or fewer words (as in Table 1 or Figure 12).

If these criteria are met, then the macro makes a change to the actual field code, adding the switch that results in the field being displayed in lowercase.

There are a couple of drawbacks to this macro. First, if you run it multiple times, the \* lower switch is added to the REF fields multiple times. Second, the macro doesn't change the space in the field results to a non-breaking space.

To overcome both problems, just modify the macro so that it automates the manual process you would go through to change the macro results.

Sub FieldRefChanges2()
    On Error Resume Next
    Dim oStoryRng As Range
    Dim oFld As Field
    Dim sTemp As String
    Dim J As String

    For Each oStoryRng In ActiveDocument.StoryRanges
        For Each oFld In oStoryRng.Fields
            If oFld.Type = wdFieldRef And oFld.Result.Words.Count <= 2 Then
                sTemp = oFld.Result.Text
                sTemp = LCase(sTemp)
                J = InStr(sTemp, " ")
                sTemp = Left(sTemp, J - 1) & Chr(160) & _
                  Mid(sTemp, J + 1, Len(sTemp) - J)
                oFld.Result.Text = sTemp
            End If
        Next oFld
    Next oStoryRng
End Sub

This macro is essentially the same as the previous one, except that it works strictly with the result text for the field. The text is assigned to the sTemp variable, which is then converted to lowercase. The position of the space is determined, and it is replaced with a non-breaking space. The result is then stuffed back into the result text for the field.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (141) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Controlling the Format of Cross-References.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Changing Page Margins

Part of determining page layout is to specify the size of the margins that surround the text on a page. Word allows you to ...

Discover More

Importing Multiple Files to a Single Workbook

If you use Excel to work with data exported from another program, you might be interested in a way to import a large number ...

Discover More

Footnotes Don't Automatically Renumber

Editing a document can, at times, be hard work. It isn't made easier if you feel that Word is "fighting" you on some tasks, ...

Discover More

The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!

MORE WORDTIPS (MENU)

Inserting Page Number Cross-References

Want to insert a dynamic cross-reference to a particular page number? It's easy to do following the steps in this tip.

Discover More

Inserting a Cross-Reference to Text

Cross-referencing is a great feature of Word that allows you to add references to text in various places of your document. ...

Discover More

Referencing a Page Number In Another Document

Page references are a common element of many documents. If you need to have a page reference to a page in a different ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments for this tip:

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)

This Site

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.

Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.

Links and Sharing
Share