WPS自带“聚光灯”功能,excel好像没有自带,下面介绍一种方法,使用VBA代码也可以实现“聚光灯”的效果。所谓聚光灯,可以简单理解成通过对工作表的行列填充颜色,突出显示被选中的单元格,仿佛该单元格被聚光灯照亮似的。
动态图示意:
代码如下:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = -4142 '取消单元格原有填充色,但不包含条件格式产生的颜色。
Rows(Target.Row).Interior.ColorIndex = 33 '活动单元格整行填充颜色
Columns(Target.Column).Interior.ColorIndex = 33 '活动单元格整列填充颜色
Application.ScreenUpdating = True
End Sub
小贴士:
1、代码使用了工作簿事件,因此需要复制粘贴在VBE界面ThisWorkbook的代码窗口下(具体操作可见上面的动画),如此才对工作簿的每一张工作表起到聚光灯的效果。如果只需要某一张工作表拥有聚光灯,可以换用工作表事件。
2、聚光灯很有用,比如查看明细行列繁多的数据时,可以提高数据阅读清晰度和数据输入的准确度;但一旦使用VBA代码,Excel将会丧失“后悔”功能,也就是说Ctrl+Z的撤销功能会失去;另外它会影响Excel的反应效率。
3、该代码会取消单元格原有设置的填充色,但不取消【条件格式】以及【表】功能设置的单元格填充色……
很好用!!谢谢!
但是还想问下楼主知道怎么在所选单元格里面高亮单元格吗?
因为设置出来的是横竖两个颜色,想要一个所选单元格还能是另外一个颜色的
'Rows(Target.Row).Interior.ColorIndex = 33
'Columns(Target.Column).Interior.ColorIndex = 33
上面两行删除,改成下面这行。
Cells(Target.Row, Target.Column).Interior.ColorIndex = 33
看到你的小贴士后,我还是就算了吧。
条件格式也可以实现的,另外有activeX插件也能实现。