Word.Tips.Net WordTips (Menu Interface)

Selective Formatting in Replacements

Summary: Do you need to replace text with a term or phrase that uses multiple formats? You can perform this seemingly complex task using the powerful find and replace tools in Word, or you can create a macro that will do the trick for you. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)

Even though you cannot be selective in your searching (previous tip), Word can be much more flexible when it comes to actually replacing information. For instance, let's say you have a document in which you have many instances of the characters X45. If you want to find these characters and replace them with a regular X and a superscripted 45, there are several ways you can go about it.

The first method involves a two-step search and replace. You can follow these general steps:

  1. Search for the X45 string and replace all occurrences with X$%$%. The idea here is that $%$% is a string which is not used elsewhere in your document.
  2. Search for all occurrences of $%$% and replace it with a superscripted 45.

It doesn't take terribly long to do these two steps, and if you need to do them in multiple documents you can automate the process by recording a little macro that does them.

Another way to approach the problem is to create a little macro that does the actual search and replace in one pass of the document. The macro can find all occurrences of X45, select just the 45 part, make it superscript, and then go on to the next occurrence. The following macro does just that:

Sub DoX45()
    Dim oRng As Range
    With Selection
        .HomeKey unit:=wdStory
        With .Find
            .ClearFormatting
            .Forward = True
            .text = "X45"
            .Execute
            While .Found
                Set oRng = ActiveDocument.Range _
                (Start:=Selection.Range.Start + 1, _
                  End:=Selection.Range.End)
                oRng.Font.Superscript = True
                oRng.Start = oRng.End
                .Execute
            Wend
        End With
    End With
End Sub

Finally, if you don't particularly care for macros, there is an even easier solution:

  1. Format the first instance of X45 the way you want it to appear.
  2. Select the instance and press Ctrl+C. The formatted version is now in the Clipboard.
  3. Press Ctrl+H to display the Replace tab of the Find and Replace dialog box. (Click here to see a related figure.)
  4. In the Find What box, type X45.
  5. In the Replace With box, type ^c.
  6. Click on Replace All.

By following these steps, Word replaces all instances of X45 with the contents of the Clipboard, which happens to be the formatted version you want to use. In other words, your text is formatted in one search and replace operation.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1553) applies to the following Microsoft Word versions: 97 | 2000 | 2002 | 2003

Related Tips:

Add a Professional Finishing Touch! Word includes great tools that allow you to add professional-grade finishing touches to your documents. You can add indexes, tables of contents, and other special tables by using the detailed information available in this volume. Check out WordTips: Indexes and Special Tables today!