诸君好。咱们又见了,微笑。
该方法有一个缺点,它会取消单元格原有设置的填充色。
对于很多小伙伴来说,这缺点可能无法接受;因此我们今天分享另外一种方法,既可以实现聚光灯的效果,又可以避免这样的问题。
1,设置条件格式
首先选择数据区域,然后单击【开始】选项卡下的【条件格式】按钮,在弹出的操作菜单中选择【新建规则】【使用公式确定要设置格式的单元格】
输入公式:
=(cell("row")=row())+(cell("col")=column())
之后在【格式】里设置个人所喜欢的颜色。
解释下公式:
公式由两部分构成,一部分是(cell("row")=row())
另一部分是(cell("col")=column())
两个部分通过加号组合,意思是只要满足其中一个条件就算是符合规则。
row()和column()返回当前单元格的行号和列号。
cell("row")和cell("col")分别返回活动单元格的行列号。
整个公式的意思就是当前单元格的行号或是列号等于活动单元格的行号列号时,执行条件格式。
看到这里,可能会有小伙伴想,聚光灯似乎就制作完成了?
但其实并没有……
cell虽然是易失性函数,但是在条件格式中使用的时候,并不能随活动单元格的变化而自动更新,聚光灯的效果就需要鼠标双击单元格才能实现,这体验就相当糟糕了……因此我们还需要增加一句VBA代码。
2,增加VBA代码
使用快捷键ATL+F11打开VBE界面,双击需要设置聚光灯的工作表对象,例如下图所示的“汇总表”,将以下代码粘贴到该工作表的代码窗口中。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
代码使用了工作表的SelectionChange事件,意思是当代码所在工作表的活动单元格发生改变时,就执行一次计算,以此达到对条件格式的CELL函数强制重算刷新的作用。
完成后的效果:
小贴士:
1、上期代码我们使用了工作簿事件,聚光灯对工作簿的每一张工作表均有效,今天的小代码则使用了工作表事件及条件格式,只对指定的工作表起作用。
2、同上期,聚光灯很有用,比如查看明细行列繁多的数据时,可以提高数据阅读清晰度和数据输入的准确度;但一旦使用VBA代码,Excel将会丧失“后悔”功能,也就是说Ctrl+Z的撤销功能会失去;另外它也会影响Excel的反应效率。
就酱紫,安~
图文制作:看见星光
VBA编程学习与实践
领取专属 10元无门槛券
私享最新 技术干货