动态展示如下:
一是多列筛选中,需要筛选哪个字段,选中哪个字段,底色被填充,突出显示;
二是点击筛选按钮,底部数据即被筛选出来。
整体来说操作感更强,可视化效果更明显。
制作过程
这个模板主要是用VBA实现的,一共三段代码:
第一段最为重要,用来实现筛选框底部颜色的填充,当鼠标选择发生变化时,判断鼠标的位置,如果位于筛选框区域,这对相应的单元格底色进行填充,并在Excel固定单元格保存选中的数据;
注意点:
1、此段代码是在当前工作表Sheet1下输入的,且在代码输入框的顶部选择【Worksheet】与【SelectionChange】,表示此段代码只在当前工作表中有效,且当选择发生变化时运行;
2、3段IF语句,负责判断鼠标是否选中筛选区域,如果选中,则将对应区域底色填充,并将选中的单元格内容保存到固定单元格【M2:O2】,便于下部筛选(将这三个单元格的颜色设置为白色)
第二段代码主要是实现筛选的功能。
代码解释:
Field:=1,代表表格的第一列删选为o2;
Field:=2,代表表格的第二列删选为m2;
Field:=3,代表表格的第三列删选为n2;
o2/n2/m2是通过第一段代码获得,在表格中,字体白色处理;
第三段代码比较简单,取消筛选,选中表格任一单元格,Selection.AutoFilter取消筛选即可。
小结
也许有些小伙伴会觉得这个模板看着比较鸡肋,但在某些场景下还是比较实用的,适合多部门分享查看,给人耳目一新的感觉。
需要模板的小伙伴可在后台私我,发送“筛选”二字即可。