Please Note: This article is written for users of the following Microsoft Word versions: 2007 and 2010. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Underlining Section References Automatically.

Underlining Section References Automatically

by Allen Wyatt
(last updated August 14, 2017)


Agnes asked if there is a way to automatically underline all instances of the word "Section" and any ancillary information following the word. For example, a document might contain text such as "Section 2.3(b)(i)" or "Section 5.21" or "Section 12.12(a)" and Agnes wants to find this text and have it all be underlined.

There are a couple of things to try. First of all, you could do a standard Find and Replace, but only if you can somehow make the text a little more "standard." Without some sort of a pattern that can be matched, it is virtually impossible to do a Find and Replace that will find all possible instances of the text.

A possibility, however, is to record a macro that does look at all the possibilities. It wouldn't necessarily be a simple macro, as it would need to find the word "Section" followed immediately by a space, a digit, a period, more digits, and then (optionally) everything up to and including a closing parenthesis. That is quite a bit of text analysis that needs to occur.

The place to start is with a wildcard search. The following search phrase will find the word Section followed by a "number dot number" pattern:

Section [0-9]{1,}.[0-9]{1,}

If this search pattern is used in a macro, then the macro can, after each successful find of the text, start expanding what was found and see if it contains parenthetical characters. The following macro will perform this task.

Sub ULWords()
    With Selection.Find
        .Text = "Section [0-9]{1,}.[0-9]{1,}"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    While Selection.Find.Found
        Selection.MoveRight Unit:=wdCharacter, _
          Count:=1, Extend:=wdExtend
            While Right(Selection.Text, 1) = "("
                Selection.MoveRight Unit:=wdCharacter, _
                  Count:=1, Extend:=wdExtend
                While Right(Selection.Text, 1) <> ")"
                    Selection.MoveRight Unit:=wdCharacter, _
                      Count:=1, Extend:=wdExtend
                Selection.MoveRight Unit:=wdCharacter, _
                  Count:=1, Extend:=wdExtend
        Selection.MoveRight Unit:=wdCharacter, _
          Count:=-1, Extend:=wdExtend
        Selection.Font.Underline = True
        Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub

Note that the macro uses a wildcards search at the beginning to find all instances of the word "Section" followed by the "number dot number" pattern. If an instance is found, then it is extended by one character. If that character is an opening parenthesis then the selection is extended until a closing parenthesis is found. This process of finding opening/closing parentheses is continued, and when no more sets are located the entire extended selection is underlined. This process continues until the entire document has been searched.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (11516) applies to Microsoft Word 2007 and 2010. You can find a version of this tip for the older menu interface of Word here: Underlining Section References Automatically.

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


Getting Rid of All Hyperlinks

Need to get rid of all the hyperlinks in a worksheet? It's easy when you use this single-line macro.

Discover More

Stubborn Highlighting

When you make extensive edits to a document and those edits include changing the formatting of numbered or bulleted ...

Discover More

A Shortcut for Switching Focus

Word provides keyboard shortcuts for lots of things, but it doesn't provide one for switching to the desktop and back to ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More WordTips (ribbon)

Engraving Text

Word allows you to format your text in a number of different ways. One rather esoteric way to format your text is by ...

Discover More

Copying Character Formatting

If you are applying character formatting directly to text rather than using a character style you can copy it from one ...

Discover More

Understanding Strikethrough Formatting

The strikethrough text feature in Word can be used as part of your document or to indicate that changes have been made to ...

Discover More

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

View most recent newsletter.


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}] 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 5 + 9?

2015-05-12 12:24:47


Discovered my mistake. The syntax should be {1,4} to find any number from 1 to 4.

2015-05-12 12:13:24



I did do some more reading on wildcards and came up with a search for the following:

.Text = "Section [0-9a-zA-Z]{1,2,3,4,}"

which should at least cover any number of digits/characters up to 4 places. Such as: Section 12, Section ABC, Section a, but I get an error message when running the macro "The Find What text contains a Pattern Match expression that is not valid." I must be doing something wrong, but can't determine what it is. Any chance you can point me in the right direction? I can't seem to find many specific examples of such a search--the descriptions are more explanatory, as in {n} "finds exactly the number of n occurrences". Thanks!

2015-05-12 11:41:25


Peter--That's very helpful--thank you!

2015-05-11 20:04:07


Yes, but as Allen said, the real challenge is to standardise your searches. Someone could write a macro for the specific examples you’ve given, then someone else would say, “But what about … ?”

My advice is to work on your last comment, and aim to gradually build up your understanding of wildcard searches. For instance, try a Find search (rather than Find and Replace; that way you don’t risk spoiling your data). Then experiment with items in your search and see what happens. A good resource is word dot mvps dot org. Go to their site and search for “using wildcards”.

Here’s an example. The reason the macro didn’t pick up line 6 is because it’s coded to find single digit numbers. [0-9] means “Find any number in the range 0 to 9”, and {1,} means “Find one instance”. So [0-9] {1,} would have found 7 followed by the dot, but it wouldn’t find 7101 followed by the dot. [0-9] {4,} would produce the opposite result. [0-9] {1,4,} would find both instances. You need to practice.

2015-05-08 14:31:57


I tried this macro on the following text, and it worked on 2, 4, and 5 only, since they're the ones that contain a period after an initial digit.

1. This is a Section 1 reference.
2. This is a Section 1.1 reference
3. This is a Section 1(b) reference
4. This is a Section 1.1(b)(c)(1) reference
5. This is a Section 1.1(b)(a) reference
6. This is a Section 7101-5(a) reference.

Is there a way to make it recognize the other ones as well? Wildcards confuse me.

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

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.