Excel VBA自动filter – “开始”的多个标准
我正在使用vba在Excel 2010中自动筛选列表,并希望根据3个或更多“开始”条件(即“a *”,“b *”,“c *”)自动筛选列表。 不幸的是,据我所知,使用Operator:= xlOr只能有两个“开始”的标准。
VBA自动filter(文本filter)与“开始”多标准接受的答案看起来像它会工作。 然而,循环遍历列表中的每个项目并将值添加到数组中,然后自动筛选与这些项目的完全匹配是很麻烦的。 特别是非常大的列表。
是否有更好的方式来自动筛选两个以上的“开始”标准?
注意:接受的答案,但是OP在使用问题中前面提到的Gary的答案
假设我们有这样的数据:
我们希望看到以A , D或M开头的项目。
运行这个macros:
Sub ThreeWay() Dim rng As Range, r As Range Set rng = Range("A2:A25") For Each r In rng v = Left(r.Value, 1) If v = "A" Or v = "D" Or v = "M" Then r.EntireRow.Hidden = False Else r.EntireRow.Hidden = True End If Next r End Sub
会产生:
注意:
- 这是一个“手动过滤”而不是真正的AutoFilter
- 如果你绝对必须有一个自动filter,然后使用我的旧邮政的方法