WPS中有一项功能,叫做【阅读模式】,方便查看与当前单元格处于同一行和同一列的相关数据,十分好用。
但是在Excel中却没有这一项功能,别担心,今天就介绍两种在Excel中制作聚光灯的方法。
方法一 条件格式
首先Ctrl+A选中有内容单元格区域(不能选择整行或整列,运算速度太慢);
依次点击【开始】—【条件格式】,接着选择【新建规则】—【使用公式确定要设置格式的单元格】,在编辑框中输入以下公式:
=row(A1)=cell("row")
接着底部设置格式,选择背景填充色,点击确定:
接着再次新建格式,步骤同上,公式修改为:
=column(A1)=cell("col")
接着点击【格式】按钮,设置颜色,点击确定按钮完成设置。
公式解读:
cell("row")和cell("col")返回活动单元格的行与列数,row()和column()返回当前单元格(鼠标选中单元格)的行与列数;
两者相等,则条件格式生效。
设置完毕之后,需要双击鼠标才能触发条件格式,也就说鼠标移动之后,公式并未自动进行计算,需要双击或按F9触发,比较麻烦。
如果要实现选中就触发,需要借助VBA代码。
Alt+F11进入VBE编辑界面,找到【ThisWorkboook】,点击进去,下拉“通用”,选择“Workbook”,下拉“声明”选择:
“Workbook_SheetSelectionChange”
接着在中间代码区域输入字符“Calculate”。它表示:当工作簿选择的区域发生变化时, 重新计算。
回头Excel界面,鼠标点击单元格,可以发现聚光灯跟着变化。
这种方法的缺点也很明显:
1、条件格式运算效率极其低下,当数据量过多时,表格异常卡顿;
2、只针对于当前插页生效,其它插页需要二次设置,不够智能。
下面我们介绍第二种方法, 完全用VBA代码实现。
方法二 VBA代码
Alt+F11进入VBE编辑界面,找到【ThisWorkboook】,点击进去,输入以下代码:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = -4142
Rows(Target.Row).Interior.ColorIndex = 6
Columns(Target.Column).Interior.ColorIndex = 6
Application.ScreenUpdating = True
End Sub
接着回到工作表界面,选择不同的单元格,就会出现聚光灯的效果。
代码中的【6】代表黄色。填充颜色可以修改,主要色系对照表如下所示,可以根据自己喜欢的颜色进行修改。
需要注意的是,表格中插入了代码,xlsx格式的文件无法保存,需要将文件另存为xlsm格式的文件。
购买专栏解锁剩余2%