Word.Tips.Net Welcome toWord.Tips.Net

Helpful Links

Tips.Net Home
WordTips Home

Ask a Word Question
Make a Comment

Tips.Net Store

WordTips FAQ
WordTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

Newest Tips

Arranging Document Windows

Specifying a Backup Location

Controlling Chart Gridlines

Merging Table Cells

Collapsing and Expanding Subdocuments

Zooming With the Keyboard

Initiating a New Search

 

Noting Table Rows Containing a Character

Summary: If you want to have Word highlight rows in a table that contain a certain character, you need to resort to using a macro. This tip shows how such a macro could work to give the desired results. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)

Heidi has fifteen documents, each comprised chiefly of one long table. She needs to create a macro to search row-by-row and somehow highlight (either by shading, bolding, changing font, etc.) any row that doesn't have a parenthesis character anywhere in the row. Alternatively, she can also highlight rows that do contain a parenthesis character—she just needs to be able to distinguish between rows that do and rows that don't.

There are many ways that such a macro could be approached, but one that searches for an opening or closing parenthesis is relatively easy. The following example will do the search, row by row, and if either character is found, it will highlight the row by making the background yellow.

Sub HilightRows()
    Dim TargetText1 As String
    Dim TargetText As String
    Dim oRow As Row
    Dim iCol As Integer

    'initialize the target characters to find
    TargetText = "("
    TargetText1 = ")"

    'Make sure we're in a table
    If Selection.Information(wdWithInTable) Then
        'Clear all the old shading
        Selection.Tables(1).Shading.BackgroundPatternColor = wdColorWhite
        'do all the rows
        For Each oRow In Selection.Tables(1).Rows
            If InStr(oRow.Range.Text, TargetText) > 0 Then _
              oRow.Shading.BackgroundPatternColor = wdColorYellow
            If InStr(oRow.Range.Text, TargetText1) > 0 Then _
              oRow.Shading.BackgroundPatternColor = wdColorYellow
        Next oRow
    End If
End Sub

Tip #568 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003 | 2007

More Power! For some people, the prospect of creating Word macros can be scary. WordTips: The Macros can help you conquer your fears and you'll discover you're much more confident and productive as you make Word do exactly what you want. This is an invaluable source for learning macros. You are introduced to the topic in bite-sized chunks, pulled from past issues of WordTips. Learn at your own pace, exactly the way you want.
 
Check out WordTips: The Macros today!