具有“开始于”的多个标准的VBA自动过滤器(文本过滤器)

编程入门 行业动态 更新时间:2024-10-20 00:28:11
本文介绍了具有“开始于”的多个标准的VBA自动过滤器(文本过滤器)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 自动过滤器字段:= 1,标准1:=数组(ca *,inc *,ps *),运算符:$ {pre> ActiveSheet.Range(F_Item = xlFilterValues

我试图使用数组来筛选具有多个条件的列,条件是过滤值它以 ca 开头,或以 inc 开始,或以$ code> ps开始。

ActiveSheet.Range(F_Item)。AutoFilter字段:= 1,Criteria1:== ca * ,运算符:= xlOr,Criteria2:== inc *

这是这样工作的,

解决方案

有以下数据:

运行此宏:

Sub WildAutofilter() Dim data As Range,c As Collection Dim v As String ,i As Long,ary 设置data = Range(A1:A23)设置c =新建C ollection On Error Resume Next For i = 2 To 23 v = Cells(i,1).Value 如果Left(v,2)=ps 或左(v,2)=ca或左(v,3)=inc然后 c.Add v,CStr(v) End If Next i 错误GoTo 0 ReDim ary(0到c.Count - 1)对于i = 1 To c.Count ary(i - 1)= c 。$($) $ b使用ActiveSheet.Range($ A $ 1:$ A $ 23) .AutoFilter字段:= 1,Criteria1:=(ary ),运算符:= xlFilterValues 结束 End Sub

将产生:

ActiveSheet.Range("F_Item").AutoFilter Field:=1, Criteria1:=Array("ca*", "inc*", "ps*"), Operator:=xlFilterValues

I am trying to filter column with multiple criteria using array, the condition is to filter the values which starts with ca, or starts with inc, or start with ps.

ActiveSheet.Range("F_Item").AutoFilter Field:=1, Criteria1:="=ca*", Operator:=xlOr, Criteria2:="=inc*"

It's working this way, but its limited to search for two conditions only.

解决方案

With data like:

Running this macro:

Sub WildAutofilter() Dim data As Range, c As Collection Dim v As String, i As Long, ary Set data = Range("A1:A23") Set c = New Collection On Error Resume Next For i = 2 To 23 v = Cells(i, 1).Value If Left(v, 2) = "ps" Or Left(v, 2) = "ca" Or Left(v, 3) = "inc" Then c.Add v, CStr(v) End If Next i On Error GoTo 0 ReDim ary(0 To c.Count - 1) For i = 1 To c.Count ary(i - 1) = c.Item(i) Next i With ActiveSheet.Range("$A$1:$A$23") .AutoFilter Field:=1, Criteria1:=(ary), Operator:=xlFilterValues End With End Sub

Will produce:

更多推荐

具有“开始于”的多个标准的VBA自动过滤器(文本过滤器)

本文发布于:2023-11-22 13:46:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1617667.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:过滤器   多个   文本   标准   VBA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!