EXCEL VBA 不完全匹配自动过滤器

Posted

技术标签:

【中文标题】EXCEL VBA 不完全匹配自动过滤器【英文标题】:EXCEL VBA Not exact match auto filter 【发布时间】:2018-06-18 04:57:46 【问题描述】:

我对宏中的自动筛选有疑问。代码如下。

ActiveSheet.Range("$A$1:$F$1048576").AutoFilter Field:=2, Criteria1:=r1

r1 是我要过滤的文本。但是,我注意到过滤器将根据我在 r1 中输入的内容查找完全匹配的内容。例如,我输入了 r1 = "banana",但列表只有 "bananas",它会返回 0 个匹配项。但如果我手动执行,请转到过滤器部分,输入“香蕉”,它会自动选择与我输入的壁橱匹配“香蕉”。

可能会问:是否有任何方法仍然可以使用此代码,但不能使用上述代码的几乎匹配结果?

谢谢,

托尼

【问题讨论】:

【参考方案1】:

它不是在寻找或选择最接近的匹配,而是用通配符完成您的输入。

您可以在您的条件中使用它:

Sub filter_()

r1 = "banana"
Range("A1:A9").AutoFilter field:=1, Criteria1:=r1 & "*", Operator:=xlFilterValues

End Sub

这将在您的过滤列表中包括“香蕉”和“香蕉”。

【讨论】:

以上是关于EXCEL VBA 不完全匹配自动过滤器的主要内容,如果未能解决你的问题,请参考以下文章