View Single Post
  #2   Report Post  
Posted to microsoft.public.word.formatting.longdocs
Jay Freedman Jay Freedman is offline
external usenet poster
 
Posts: 9,854
Default Comparing cells, coloring differences

On Mon, 3 Mar 2008 16:19:17 -0800 (PST), wrote:

Hopefully last question for a while -- I would like to compare
adjoining cells (B1 and C1, B2 and C2, etc.), and change the color of
the C cells which are not identical to their B counterparts.

It would save me an enormous amount of work, but unfortunately I'm not
quite at the point where I can work this sort of thing out by myself.
Any help would be greatly appreciated indeed!


I think this handles all the contingencies, but I might have missed something.
Give it a whirl on some real tables and see if it needs any tweaks. Of course,
you can replace wdColorRed with any other color that appeals to you.

Sub ColorDifferences()
'compare adjoining cells (B1 and C1, B2 and C2, etc.),
'and change the color of the C cells which are not
'identical to their B counterparts

Dim oTbl As Table
Dim oRow As Row
Dim numRow As Long

If Not Selection.Information(wdWithInTable) Then
MsgBox "Please put the cursor in a table first."
Exit Sub
End If

Set oTbl = Selection.Tables(1)

If Not oTbl.Uniform Then
MsgBox "The macro can't deal with merged or split cells."
Exit Sub
End If

For numRow = 1 To oTbl.Rows.Count
Set oRow = oTbl.Rows(numRow)
With oRow
If Not .HeadingFormat Then
If .Cells(2).Range.Text .Cells(3).Range.Text Then
.Cells(3).Shading.ForegroundPatternColor = wdColorRed
End If
End If
End With
Next
End Sub

--
Regards,
Jay Freedman
Microsoft Word MVP FAQ:
http://word.mvps.org
Email cannot be acknowledged; please post all follow-ups to the newsgroup so all may benefit.