Excel VBA:巧妙地使用自动过滤器

时间:2016-04-22 08:39:45

标签: string excel vba autofilter

所以,这是我的问题......

我有一个字符串,如下所示:

" 2,3" " 1,2" " 2" " 3,22,1" " 32,5"

现在,我想要做的是找到一种方法(不用编写我自己的功能)来过滤那些不包含的所有内容" 2" (" 32"或" 22"需要过滤掉的行。)

因此,举例来说,只保留上面列表中的" 2",我想得到: " 2,3" " 1,2" " 2"

我现在使用以下过滤: 1.包含" 2,"或包含",2"或等于" 2"

不幸的是," 3,22,1"将由前两个过滤器和" 32,5"由第二个保留。

有关如何使用过滤功能执行此操作的任何想法? 就像我说的那样,我可以为它编写一个函数,但我保持最小的代码并学习如何更好地使用VBA。

提前谢谢! 的Riccardo

1 个答案:

答案 0 :(得分:0)

我仍然不确定你想删除什么以及要保留什么,但是使用你的标准数组,这是怎么回事:

Sheets("Sheet1").Range("A:A").AutoFilter Field:=1, Criteria1:=Array("2,", ",2","2",",2,"),_ 
Operator:=xlFilterValues

值得注意的是,在编写宏来直接引用工作表时,这是一种更加万无一失的方式,否则它们偶尔会在脚本中迷失:)