Changing the Color of a List of Words

by Allen Wyatt
(last updated June 20, 2020)

Curt has a list of words that he needs to have shown in red in a rather long document. Searching for each of the words using Find and Replace works, but it is quite tedious. Curt wonders if there is a way (perhaps using a macro) to process the document for each of the words in the list.

In order to accomplish this, it really is best to turn to a macro. Why? Because a macro can make quick work of tedious steps. Let's say, for instance, that you want to replace the words video, element, chart, and button (four individual words) with the same word, but in red. You could use a macro such as the following:

Sub ChangeWordColors()
    Dim vWords As Variant
    Dim sWord As Variant

    vWords = Array("video", "element", "chart", "button")

    For Each sWord In vWords
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Font.Color = wdColorRed
        With Selection.Find
            .Text = sWord
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    Next sWord
End Sub

The macro first assigns the four words to an array named vWords. Each element of the array is then stepped through and a Find and Replace operation is performed. Because the operation sets the .MatchWholeWord property to True, then only whole words that match these four will be matched. (In other words, searching for element will not result in elements being a match.

The drawback to such a macro is that if you want to use a different set of words, you need to edit the macro so that it assigns those other words (or phrases) to the array. You may, instead, want to store the words in a text file. This can be done by modifying the macro, as follows:

Sub ChangeWordColorsFile()
    Dim sFile As String
    Dim sTemp As String

    sFile = "C:\Users\abcd\Desktop\MyWords.txt"

    Open sFile For Input As 1

    While Not EOF(1)
        Line Input #1, sTemp
        sTemp = Trim(sTemp)

        If sTemp > "" Then
            Selection.Find.ClearFormatting
            Selection.Find.Replacement.ClearFormatting
            Selection.Find.Replacement.Font.Color = wdColorRed
            With Selection.Find
                .Text = sTemp
                .Replacement.Text = ""
                .Forward = True
                .Wrap = wdFindContinue
                .Format = True
                .MatchCase = False
                .MatchWholeWord = True
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
            End With
            Selection.Find.Execute Replace:=wdReplaceAll
        End If
    Wend
    Close #1
End Sub

This version of the macro relies on a file called MyWords.txt. Near the beginning of the macro you can see that this filename (actually, a complete path to this filename) is assigned to the sFile variable. It is this file that is opened and read, one line at a time, to indicate what words should be searched for and changed to red. If you want to change how the macro does its work, just change what is in the MyWords.txt file. Just be sure to put only a single word or phrase on each line of the file.

Note:

If you would like to know how to use the macros described on this page (or on any other page on the WordTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (13773) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Office 365.

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

Extracting URLs from Hyperlinked Images

When copying information from the Internet to an Excel workbook, you may want to get rid of graphics but keep any ...

Discover More

Tombstone Date Math

Doing math with dates is easy in Excel. Doing math with old datesâ€"such as those you routinely encounter in ...

Discover More

Resizing Checkboxes

If you create a user form in VBA that includes checkboxes, you may want to make the checkboxes larger. You can't adjust ...

Discover More

Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!

More WordTips (ribbon)

Turning Off Highlighter Display

You can use the highlighter tool to add all sorts of color to your document. If you want to turn off those colors so that ...

Discover More

Understanding Mirror Margins

Rather than have the margins of your documents always be the same, you can use what Word calls "mirror margins." Here's ...

Discover More

Quickly Displaying Formatting Specs

It's easy to apply formatting to text, but often hard (after the fact) to know exactly what was done. If you often need ...

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

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is three less than 9?

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 ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.

Newest Tips
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.