[color=darkblue]Option[/color] [color=darkblue]Explicit[/color]
[color=darkblue]Sub[/color] HighlightCorrespondingCells()
[color=darkblue]Dim[/color] rHighlightedRange [color=darkblue]As[/color] Range
[color=darkblue]Dim[/color] rRangeToHighlight [color=darkblue]As[/color] Range
[color=darkblue]Dim[/color] rFound [color=darkblue]As[/color] Range
[color=darkblue]Dim[/color] rCell [color=darkblue]As[/color] Range
[color=darkblue]Dim[/color] sFirstAddress [color=darkblue]As[/color] [color=darkblue]String[/color]
[color=darkblue]If[/color] TypeName(ActiveSheet) <> "Worksheet" [color=darkblue]Then[/color] [color=darkblue]Exit[/color] [color=darkblue]Sub[/color]
[color=darkblue]Const[/color] MYCOLOR [color=darkblue]As[/color] [color=darkblue]Long[/color] = vbYellow
[color=darkblue]Set[/color] rHighlightedRange = Columns("A")
[color=darkblue]Set[/color] rRangeToHighlight = Columns("B")
[color=darkblue]With[/color] Application.FindFormat
.Clear
.Interior.Color = MYCOLOR
[color=darkblue]End[/color] [color=darkblue]With[/color]
[color=darkblue]With[/color] rHighlightedRange
[color=darkblue]Set[/color] rFound = .Find(What:="", after:=.Cells(1), LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)
[color=darkblue]If[/color] [color=darkblue]Not[/color] rFound [color=darkblue]Is[/color] [color=darkblue]Nothing[/color] [color=darkblue]Then[/color]
sFirstAddress = rFound.Address
[color=darkblue]Do[/color]
DoHighlight rFound.Value, rRangeToHighlight, MYCOLOR
[color=darkblue]Set[/color] rFound = .Find(What:="", after:=rFound, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)
[color=darkblue]Loop[/color] [color=darkblue]While[/color] rFound.Address <> sFirstAddress
MsgBox "Completed . . .", vbInformation
[color=darkblue]Else[/color]
MsgBox "No highlighted cells found . . .", vbExclamation
[color=darkblue]End[/color] [color=darkblue]If[/color]
[color=darkblue]End[/color] [color=darkblue]With[/color]
Application.FindFormat.Clear
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
[color=darkblue]Private[/color] [color=darkblue]Sub[/color] DoHighlight([color=darkblue]ByVal[/color] vSearchFor [color=darkblue]As[/color] [color=darkblue]Variant[/color], [color=darkblue]ByVal[/color] rSearchRange [color=darkblue]As[/color] Range, [color=darkblue]ByVal[/color] lColor [color=darkblue]As[/color] [color=darkblue]Long[/color])
[color=darkblue]Dim[/color] rFound [color=darkblue]As[/color] Range
[color=darkblue]Dim[/color] sFirstAddress [color=darkblue]As[/color] [color=darkblue]String[/color]
[color=darkblue]With[/color] rSearchRange
[color=darkblue]Set[/color] rFound = .Find(What:=vSearchFor, after:=.Cells(1), LookIn:=xlFormulas, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
[color=darkblue]If[/color] [color=darkblue]Not[/color] rFound [color=darkblue]Is[/color] [color=darkblue]Nothing[/color] [color=darkblue]Then[/color]
sFirstAddress = rFound.Address
[color=darkblue]Do[/color]
rFound.Interior.Color = lColor
[color=darkblue]Set[/color] rFound = .FindNext(after:=rFound)
[color=darkblue]Loop[/color] [color=darkblue]While[/color] rFound.Address <> sFirstAddress
[color=darkblue]End[/color] [color=darkblue]If[/color]
[color=darkblue]End[/color] [color=darkblue]With[/color]
[color=darkblue]End[/color] [color=darkblue]Sub[/color]