《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例应用四:完成多个指定值的数据筛选
【分享成果,随喜正能量】我们不可能自己不犯错,就如同你不可能不允许别人犯错,每个人都不是圣人,但即便是圣人,他也有犯错的时候。内观和宽容都是修行之道。。
应用4 VBA中的自动筛选(Autofilter)
大家好,我们这个专题讲解VBA中的自动筛选(Autofilter),一般情况下,我们学习VBA之前都比较熟悉了Excel的利用,为了进一步提高效率,才学习VBA,把VBA宏派上用场。在Excel工作表中,我们可以轻松地根据标准功能,使用"数据"菜单内的"筛选"功能,完成多种多样的筛选以处理各式各样的信息。我们这讲的内容是利用VBA完成自动筛选。
对于应用而言,从小数据集合中过滤掉必要的信息可以使用"筛选"功能。但是,如果你希望根据多个标准和条件过滤大量数据,利用VBA自动过滤器功能可以更轻松。它可以为你节省大量的时间和精力。例如,假设你希望筛选下拉列表中的某些信息(基于多个标准),然后将结果复制/粘贴到其他工作表中。如果手动完成,这似乎是一项非常耗时的任务。在这种情况下,VBA可以帮助你自动化完成这个过程。
7 完成多个指定值的数据筛选
在筛选中,还有一种情况是多个指定值的筛选,我们再来回顾一下我们这讲的数据源:
在这个数据源中,我们要提取指定的数据:小猫,小象,小鸟数据的筛选,筛选后提取数据到其他工作表中,该如何处理呢?这种情况下需要设置筛选的指定值数组和Operator:=xlFilterValues的设置,这种设置下可以完成指定值的筛选。
下面看我给出的代码:
Sub mynzF
'清空数据
Sheets("SHEET1").Select
Cells.ClearContents
With Sheets("Sheet2").Range("A1")
'筛选需要的数据1
.AutoFilter field:=1, Criteria1:=Array("小猫", "小象", "小鸟"), _
Operator:=xlFilterValues
'将筛选后的数据复制到指定位置
.SpecialCells(xlCellTypeVisible).Copy Sheets("SHEET1").Range("A1")
'去掉筛选
.AutoFilter
End With
End Sub
代码截图:
代码解读:
① Array("小猫", "小象", "小鸟") 是指定要筛选值的数组
② Operator:=xlFilterValues 是设置指定值的筛选
代码的运行结果:
结论:Excel 的"Autofilter"工具本身就是一个很好的工具,VBA中的自动筛选(Autofilter)也是功能强大。随着数据集的增加,代码也会动态调整自己。但是,我给大家一个建议,这种应用最好应用在最多5000行数据上,再多不建议用这种方案。
今日内容回向:
1 VBA自动筛选的语法是什么?
2 本讲介绍了多种不同的应用,是否理解?
本讲内容参考程序文件:应用004.xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/321935.html