Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 18634|回复: 20

[分享] VBA数组教程第9例:Filter函数实现数组筛选

  [复制链接]
发表于 2010-8-11 14:41 | 显示全部楼层 |阅读模式

  VBA数组教程第9例:Filter函数实现数组筛选

  数组的筛选就是根据一定的条件,从数组中筛选符合条件的值,组成一个新的数组,实现数组筛选的VBA函数是:

         Filter函数

  用法:Filter(数组, 筛选的字符,
  是否包含

 示例

Sub DD()
     arr = Array("ABC", "A", "D", "CA", "ER")
     arr1 = VBA.Filter(arr, "A", True) '筛选所有含A的数值组成一个新数组
     arr2 = VBA.Filter(arr, "A", False) '筛选所有不含A的数值组成一个新数组
     MsgBox Join(arr2, ",") '查看筛选的结果
End Sub

遗憾的是函数只能进行模糊筛选,不能精确匹配。

附:1-7链接:

附1-7例链接:








VBA数组教程8:数组的合并和字符串拆....on & split)[长]
[此贴子已经被作者于2010-8-11 14:45:49编辑过]
发表于 2010-8-11 15:20 | 显示全部楼层
回复

使用道具 举报

发表于 2010-8-11 21:02 | 显示全部楼层

回复:(兰色幻想)VBA数组教程第9例:Filter函数实现数...

学习下!
回复

使用道具 举报

发表于 2010-8-11 22:06 | 显示全部楼层

越来越深入啦,不过还不知道应该用在哪里?
不能精确匹配,真是太可惜啦。
回复

使用道具 举报

发表于 2010-8-14 14:53 | 显示全部楼层

学习,模糊查找也有模糊查找的用处呀,有没有精确查找的?呵
回复

使用道具 举报

发表于 2011-1-20 15:31 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2011-1-20 15:47 | 显示全部楼层
慢慢学习,虽然很多不懂
回复

使用道具 举报

发表于 2011-1-20 19:44 | 显示全部楼层
来学习兰版了
回复

使用道具 举报

发表于 2011-1-24 15:34 | 显示全部楼层
做点小动作,让兰版不再遗憾

Sub DD()
     arr = Array("ABC", "A", "D", "CA", "ER", "A")
         arr1 = VBA.Filter(arr, "A", True) '筛选所有含A的数值组成一个新数组
     arr2 = VBA.Filter(arr, "A", False) '筛选所有不含A的数值组成一个新数组
     MsgBox Join(arr2, ",") '查看筛选的结果
     
     
     a1 = Split("|" & Join(arr, "|,|") & "|", ",") '对原数组加入分隔符进行重建
     arr3 = Filter(a1, "|A|")  ''精确匹配筛选
     MsgBox Replace(Join(arr3, ","), "|", "") '查看筛选的结果
End Sub
回复

使用道具 举报

发表于 2011-1-24 18:59 | 显示全部楼层
回复 yuhe0008 的帖子

谢谢斑竹的代码啊。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 16:25 , Processed in 0.363911 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表