ad

《Excel VBA跟卢子一起学早做完,不加班(实战进阶版)》_提升工作效率_1.5.3. 单条件单数据筛选

网友投稿 63 2023-11-07

【摘要】 本书摘自《Excel VBA跟卢子一起学早做完,不加班(实战进阶版)》一书中第1章,第5节,陈锡卢、李应钦著。

3. 单条件单数据筛选

无言:该语句可针对三种不同筛选条件进行操作,现在就一个个解说,上面的模式基本上 可以说的是固定,所以先按固定模式进行解说——第1种单条件筛选,其语法如下。

所谓的单条件筛选即只筛选某一个具体值,单条件筛选时Operator 参数是可以省略,那么

参数就只剩 Field和Criterial, 只要设置好这两个参数即可筛选需要的数据。现在以一份提价 表(见图1-20)进行单条件筛选。具体过程如代码1-23所示

代码1-23示例过程为单条件自动筛选,通过判断工作表中是否开启了自动筛选功能,并 让用户选择要筛选的序列号及其筛选的自动关键字内容。

(1)If.AutoFilterMode =False 语句为判断工作表中是否未开启自动筛选,若未开启功能 为否则开启筛选功能; If语句中无论开启筛选与否,最后都把A1 连续区域作为筛选区域赋值 给 Af_Rng 变量,该变量作为自动筛选的表达式对象。

( 2 ) 若Af_Rng 变量未赋值则退出过程;接着让用户输入需要筛选的列和关键字并分别 赋值给 Af_Col 和 Af_Cri 变量;接着通过 IfAf_Col<0 Or Af_Col>.AutoFilter.Filters.Count 语 句判断用户输入列序号是否在筛选区域的有效区间内,不在则退出过程。

《Excel VBA跟卢子一起学早做完,不加班(实战进阶版)》_提升工作效率_1.5.3. 单条件单数据筛选

(3)If.AutoFilter.Filters(Af_Col).On Then.ShowAllData 语句则是判断指定的列是否已设 置过筛选条件,其中 .On 为 Filters 的属性,用于判断字段是否已经筛选过——若已设置过筛选

条件则返回 True; 当 IF 判 断 .On 为 True则清空指定列的筛选条件;若需清空自动筛选区域的 所有已筛选条件,则直接将If语句删除,剩下 ShowAllData 即可。

(4)Af_Rng.AutoFilter Field:=Af_Col,Criterial:=Af_Cri 语句则是在筛选区域内的指定列 的执行筛选,筛选列号 (Field) 由 Af_Col 指定,具体筛选条件 (Criterial) 由 Af_Cri 指定。

? 皮蛋:言子,你这里为什么不用Operator参数呢?

无言:因为筛选的是文字,Operator参数在此时只能用默认值XIFilterValues, 所以省略该常 量;若为数字比较大小之类的就需要使用该参数,多条件筛选时,就必需用到Operator参数。

4. 双条件筛选

平时筛选时,不可能总只有一个筛选条件,时常出现要按甲和乙两个条件进行筛选,那么 此时就可以使用AutoFilter 方法的第2种语句。

无言:继续用刚才的提价表(见图1-20)来进行演练,现在需要双条件进行筛选,其语法 如下。

具体过程如代码1-24所示。

代码1-24示例过程与代码1-23过程类似,只是增加了一个筛选条件Criteria2 参数和筛选 条件关系 Operator参数,VisibleDropDown 参数则是限制指定列是否显示下拉箭头。这里主要 讲的是Operator参数枚举常量的作用——过程中 XIOr 表示这两个条件的关系为或。

无言:Operator限制了2个筛选条件的关系,只有选择需要且正确的Operator参数常量才能 获取需要的筛选数据。

还有 Range.AutoFilter 的Criteria参数可以使用通配符进行筛选匹配。通配符的使用方法可 以参考 Like 运算符的帮助。

5. 多条件自动筛选

虽然平时也经常使用到单条件、双条件自动筛选,但是实际工作中使用多条件筛选也很频 繁,接下来先看下多条件筛选语法。

皮蛋: 怎么和单条件的这么相似,只多了一个Array函数?

无言:没错,因为多条件的筛选情况下, 一般不采用第2个筛选关键字,所以只能手动在 Criteria1参数做文章,且只能通过使用Array函数进行。继续以提价表(见图1-20)为例,但是 这 次 需 要 筛 选A 列多个固定地区类别的名称数据。具体过程如代码1 - 25所示。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_2.4.2 变量和常数
下一篇:达人之路·《高效办公应用宝典公式·函数与VBA》_7.2.4提取货物的生产日期
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×