01 工作表
聚焦活动单元格所在的行列
把工作表当PPT展示数据时,行列过多,识别费力!同一行或同一列往往是有延伸关系的,如果在选择单元格时,该行列都突出显示呢?来介绍聚焦的方法。
所谓聚焦,其实就是在选择单元格时,改变单元格所在的行和列的底色,这样就一下子就变得清晰起来!提高阅读(或者数据录入)的效率。
当然,使用WPS是可以的,它本身自带有这种功能,但Excel是没有的 !
结果如图所示:
要实现它,有两种方式 :
- 一、通过单元格区域设置条件格式;
- 二、通过VBA代码。
一、通过单元格区域设置条件格式
通过条件格式来实现,其实弊端还是挺多的:
- 1、只能在设置条件格式的区域内有效;
- 2、当前区域够大,条件格式的执行效率就不高了(带来卡顿);
- 3、不能随活动单元格的变化自动更新,双击时聚焦效果才会实现。
实现步骤
- 1、选择需要呈现效果的单元格区域;
- 2、条件格式→新建规则→使用公式确定要设置格式的单元格;
- 3、输入公式=(OR(CELL("row")=ROW(),CELL("col")=COLUMN()));
- 4、设置条件格式(示例是用明黄的鲜艳底色)。
二、通过VBA代码
通过VBA代码的好处可太多了
- 1、不受单元格区域的限制,整行和整列都可以聚焦到;
- 2、数据太多也不担心执行效率的问题;
- 3、可以实现在一个工作表内聚焦,也可以在一个工作簿内的所有工作表都实现,改变代码放置的位置即可;
- 4、单元格选中即更新。
运行视频:
源码下载:
VBA实现过程:
- 1.代码放置在工作表事件或者工作簿事件,决定效果只在某个工作表中实现、还是在工作簿内的所有工作表中实现;
- 2.Cells.Interior.ColorIndex,先取消所有单元格的底色;
- 3.Rows(Target.Row)\Columns(Target.Column).Interior.ColorIndex,在设置活动单元格的整行和整列的底色。
示例代码
复制成功!
1
'工作表内聚焦,工作表事件Worksheet_SelectionChange
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False '禁止屏幕更新
Cells.Interior.ColorIndex = -4142 '取消单元格原有底色
Rows(Target.Row).Interior.ColorIndex = 44 '活动单元格整行填充颜色(亮橙)
Columns(Target.Column).Interior.ColorIndex = 44 '活动单元格整列填充颜色(亮橙)
Application.ScreenUpdating = True
End Sub
'工作簿内所有工作表都实现聚焦,工作簿事件Worksheet_SelectionChange
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False '禁止屏幕更新
Cells.Interior.ColorIndex = -4142 '取消单元格原有底色
Rows(Target.Row).Interior.ColorIndex = 44 '活动单元格整行填充颜色(亮橙)
Columns(Target.Column).Interior.ColorIndex = 44 '活动单元格整列填充颜色(亮橙)
Application.ScreenUpdating = True
End Sub
请开发者喝杯咖啡!