前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用VBA基于图标集进行筛选

使用VBA基于图标集进行筛选

作者头像
fanjy
发布2022-11-16 12:58:58
9380
发布2022-11-16 12:58:58
举报
文章被收录于专栏:完美Excel

标签:VBA

Excel一直在改进自动筛选功能。可能和许多开发人员一样,当设置了条件,Excel为你进行数据筛选时,Excel会进行循环。当需要在数千行中循环时,此方法就会出现的问题,大大减慢你的过程。相比之下,在VBA中使用自动筛选速度非常快,小列表和大列表之间的时间差可以忽略不计。同时,Excel引入了按图标集筛选的功能,即单元格中显示的条件格式彩色箭头或图表指示器,如下图1所示。

图1

此时,可以基于图标集筛选,实际上相当简单。示例代码如下:

代码语言:javascript
复制
'红色箭头
Sub RedDownArrow()
    [K10:K100].AutoFilter 1, ThisWorkbook.IconSets(1).Item(1), xlFilterIcon
End Sub
'黄色箭头
Sub YellowAcrossArrow()
    [K10:K100].AutoFilter 1, ThisWorkbook.IconSets(1).Item(2), 10
End Sub
'绿色箭头
Sub GreenUpArrow()
    [K10:K100].AutoFilter 1, ThisWorkbook.IconSets(1).Item(3), 10
End Sub
Sub ClearIt()
    ActiveSheet.AutoFilterMode = False
End Sub

IconSets(1)与上图1所示的箭头图片相关,仅适用于此图标集。如果试图将此代码改编为外观不同的图标集,则需要获取与使用的图标集相关的索引号。VBA代码-Item(1)与红色向下箭头相关,(2)与黄色箭头相关,(3)与绿色箭头相关。

过程效果如下图2所示。

图2

下面是另一组图标集示例。

图3

该图标集的编号是5,相应的VBA代码如下:

Sub RedDownArrowV2() '红色

[K10:K100].AutoFilter 1, ThisWorkbook.IconSets(5).Item(1), xlFilterIcon

End Sub

注:本文学习整理自thesmallman.com,有兴趣的朋友可以到该网站下载示例工作簿,也可以到知识星球App完美Excel社群下载示例工作簿。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档