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 不完全匹配自动过滤器的主要内容,如果未能解决你的问题,请参考以下文章
Excel VBA 自动过滤器然后更改字段值并填写错误处理空白单元格的可能性