VBA学习(17):使用条件格式制作Excel聚光灯

今天给大家分享的表格小技巧是制作聚光灯。

先说一下啥是聚光灯。所谓聚光灯,可以简单理解为对工作表的行列填充颜色,突出显示被选中的单元格,仿佛该单元格被聚光灯照亮似的。聚光灯有助于肉眼识别所选中的单元格或区域,提高数据阅读或输入效率。

怎么拥有一盏聚光灯呢?

打个响指,最简单的方法是------使用WPS。WPS有自带的聚光灯功能,而Excel是没有的。盖木欧瓦。

如果需要在Excel中使用聚光灯,需要自己挽起袖子加油干,这通常会使用到条件格式...

我举个例子,以下图所示的数据列表为例,制作一盏聚光灯。

步骤1:设置条件格式

选中单元格区域,比如A1:G2000;选中的单元格区域可以比实际数据区域大一些,但尽量不要超过万行,更不要整行整列,Excel大范围执行条件格式的效率不甚理想。

在【开始】选项卡下,单击【条件格式】,在弹出的菜单中选择【新建规则】→【使用公式确定要设置格式的单元格】,在编辑框中输入以下公式:

公式若是看不全可以左右拖动...▼

复制代码
=OR(cell("row")=row(),cell("col")=column())

然后单击【格式】按钮,设置个人所喜欢的颜色,比如有点黄,单击确定按钮即可。

解释一下公式的意思。

公式由两部分构成,一部分是cell("row")=row(),另一部分是cell("col")=column(),两个部分做OR运算,意思是只要满足其中一个条件就符合计算规则。

row()和column()分别返回当前单元格 的行号和列号。

cell("row")和cell("col")分别返回活动单元格 的行列号。

当前单元格的行号或是列号等于活动单元格的行列号时,条件为真,就执行设置单元格格式。

...看到这里,可能会有小伙伴想,聚光灯似乎就制作完成了?

但其实并没有......

cell虽然是易失性函数,但是在条件格式中使用时,并不能随活动单元格的变化而自动更新,聚光灯的效果需要鼠标双击单元格才能实现,这就好比大夏天穿着棉裤跑步,体验不大好......

为了解决这个问题,我们需要再加一段VBA代码。

步骤2:添加VBA代码

按<ATL+F11>组合键打开VBE编辑器,在右侧工程资源管理器窗格,双击需要设置聚光灯的工作表对象,本例为Sheet1,将以下代码粘贴到该工作表的代码窗口中。

代码若是看不全可以左右拖动...▼

复制代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range)    CalculateEnd Sub

代码使用了工作表的SelectionChange事件,意思是当代码所在工作表的活动单元格发生改变时,就执行一次公式重弄算,以此达到对条件格式的CELL函数强制重算刷新的作用。

如此就完工

相关推荐
SamDeepThinking2 小时前
基于CompletableFuture的主子任务并行处理架构实战:多渠道账单并发导入性能提升5倍的技术方案
java·后端·excel
SamDeepThinking2 小时前
88MB Excel文件导致系统崩溃?看我如何将内存占用降低
java·excel
ChrisitineTX3 小时前
警惕数据“陷阱”:Python 如何自动发现并清洗 Excel 中的异常值?
开发语言·python·excel
wuchunyu0023 小时前
VBA Outlook中定长邮件内容
outlook·vba
wtsolutions4 小时前
Excel to JSON by WTSolutions 4.0.0 版本更新公告
json·excel·wps·插件·转换·加载项·wtsolutions
wtsolutions4 小时前
Excel to JSON by WTSolutions 4.0.0 Update Announcement
json·excel·wps·addin·wtsolutions·conversion
癫狂的兔子1 天前
【Office】【Excel】常用函数公式总结
excel
毛飞龙1 天前
Excel迷你图:在单元格中嵌入趋势洞察
excel·迷你图·sparklines
Tatalaluola1 天前
Unity使用EPPlus读取写入表格
unity·c#·游戏引擎·excel
缺点内向1 天前
如何在 C# 中将 Excel 工作表拆分为多个窗格
开发语言·c#·.net·excel