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

Printing On Both Sides of the Paper

Turning Off AutoComplete for Dates

Ordering Search and Replace

Understanding Auto Line Spacing

Adding Comments to Your Document

Conditional Calculations in Word

Determining Word Frequency

 

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

Take Control! Master the real power behind Word! Successfully master the secrets of powerful formatting and create documents that stand out from the rest. Best of all, you can create documents that are easy to maintain and quick to change.
 
Check out WordTips: Styles and Templates today!