参考:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = UsedRange
If Target.Count > 1 Then
Set Target = Target.Cells(1)
End If
If Application.Intersect(Target, rng) Is Nothing Or Target.Value = "" Then Exit Sub
Dim c As Range
For Each ws In Worksheets
Set rng = ws.UsedRange
rng.Interior.ColorIndex = xlNone
For Each c In rng
If c.Value = Target.Value Then
ws.UsedRange.Columns(c.Column).Interior.ColorIndex = 28
End If
Next
Next
End Sub
效果