# Word – Is it possible to assign a specific style to all cross-references in Word 2007

microsoft wordmicrosoft-officemicrosoft-word-2007

Nothing more to add, I would like to change the style of all cross-references I have in a Word 2007 document at once. But I have no idea how to do it. How can this be done?

Some cross-reference types are automatically formatted with the "intense reference" style, but most are formatted as "normal" text.

To apply the "intense reference" style to the text of the cross reference:

• select the text
• choose the "Home" tab in the ribbon
• using either the up-down buttons or the drop-down button in the "Styles" group of the ribbon, choose the "intense reference" style (or another style if you prefer)

To change the appearance of all text of a given style:

• choose the "Home" tab in the ribbon
• using the drop-down button in the "Styles" group of the ribbon, choose "Apply styles..."
• in the "Apply Styles" dialog box under "Style Name" choose the name of the style you want to change (e.g. "intense reference")
• Click the "Modify..." button
• Change the formatting to suit you and click "OK"

To apply a style to all cross references at once:

• Press Alt+F9 to show field codes
• Select the "Home" tab in the ribbon
• Click on "Replace" in the "Editing" group
• In the "Find what" field, type ^19 REF
• (That's caret-one-nine-space-R-E-F)
• Click in the "Replace with" field, but don't type anything
• Click the "More" button
• The bottom section of the dialog should be titled "Replace" (with a horizontal rule after it)
• Click the "Format" button and select "Style..."
• Choose a style (e.g. "Intense Reference") and click OK
• It should now show the style you selected under the "Replace with" field
• Click "Replace All" if you're feeling brave or use "Find Next" and "Replace" to step through and replace or skip each reference field code's style individually
• Press Alt+F9 to hide field codes

Here is a macro that will add the switch \* mergeformat to each of the fields. This switch is necessary to keep the formatting from being lost if you do a field update. You can assign the macro to a keystroke and it will step through the fields one at a time for each time you press the keystroke. You can also edit the macro to loop over the whole document to automate the process.

Sub mf()
'
' mf Macro
' Find cross references and add \* mergeformat
'
Selection.Find.ClearFormatting
With Selection.Find
.Text = "^19 REF"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.TypeText Text:="\* mergeformat "
Selection.Find.Execute
End Sub