一个人之所以强大,
不在于他兼具无数的才能,
而是因为他拥有无限的可能。
Excel也是这样。
垂涎WPS中的“聚光灯”?
Excel随手便能完美复刻,
而且还是加强版的!
有图有真相,来看效果!
有了聚光灯,妈妈再也不用担心我看数据看到眼花缭乱了!
一起动动手吧!
PS:以下文章主要是为了说明有这个思想,这个聚光灯的效果可以Excel VBA 的事件处理,非常简单,就2句代码就可实现。
Step 1
定义名称
点击【公式】—【定义名称】按钮,新建四个名称,命名及用途如下:
MAXR:用于储存选中区域最大行号,初始值1;
MAXC:最大列号,初始值1;
MINR:最小行号,初始值1;
MINC:最小列号,初始值1。
此处的初始值可以任意设置,后面我们会用VBA来更改它。
Step 2
编写代码
1,按Alt F11或点击【开发工具】- 【Visual Basic】,进入代码窗口;
2,双击需要设置聚光灯效果的表格,复制下列代码;
3,关闭代码窗口,将工作簿保存为.xlsm(启用宏的工作簿)格式。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'玩转聚光灯(最大8*8)
Dim RG As Range
minb = 100000
mina = 100000
For Each RG In Target
If i <= 64 Then
a = RG.Row
b = RG.Column
i = i 1
If a >= maxa Then
maxa = a
End If
If a <= mina Then
mina = a
End If
If b >= maxb Then
maxb = b
End If
If b <= minb Then
minb = b
End If
End If
Next
ThisWorkbook.Names("MAXR").Value = maxa
ThisWorkbook.Names("MINR").Value = mina
ThisWorkbook.Names("MAXC").Value = maxb
ThisWorkbook.Names("MINC").Value = minb
End Sub
这次编写的代码是比较接地气的,小伙伴们可以看一下,不难,真的不难!同时为了避免选中区域过大导致表格卡顿,将允许聚光的区域限制为64个单元格,小伙伴们可以根据需要自行调整限制哦!
Step 3
条件格式
选中要聚光的区域A1:G11,点击【开始】—【条件格式】—新建规则,新建两个规则,公式如下,格式可根据喜好自行设计,规则应用于A1:G11:
规则1:用于同行或同列的数据
=((ROW()>=MINR)*(ROW()<=MAXR)) ((COLUMN()>=MINC)*(COLUMN()<=MAXC))
规则2:用于区别选中区域,可不设置。
=((ROW()>=MINR)*(ROW()<=MAXR))*((COLUMN()>=MINC)*(COLUMN()<=MAXC))
传统的聚光灯只能对一行一列聚光,经过我这么一加强,小伙伴们是不是觉得更溜了呢?喜欢就赶紧收藏,记得分享给你的朋友哦!