韩老师曾经写过一篇文章:EXCEL | 鼠标霸气十足,随意点哪里,相同数据项变同种颜色,检查数据一目了然,效果如图:
只要在G列选择某商品名称,A到D列中与该商品名称一致的商品所在行会自动添加颜色,这种效果非常有利于核查数据。今天后台有朋友问,这个效果能不能用VBA实现,今天韩老师把代码贴到这里。
代码如下(横屏可读性更好):
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 Dim c As Range For Each ws In Worksheets '对于工作薄中每一个工作表 Set rng = ws.UsedRange If Target.Value = "" Then rng.Interior.ColorIndex = xlNone '如果当前单元格为空,则清除颜色 Else rng.Interior.ColorIndex = xlNone For Each c In rng If c.Value = Target.Value Then ws.UsedRange.Rows(c.Row).Columns("A:D").Interior.ColorIndex = 28 '与选中单元格相同的行A到D列添加颜色 Target.Columns("A:B").Interior.ColorIndex = 28 '选中单元格所在行本列与后一列添加颜色 End If Next End If Next End Sub
如下图:

|