gpt4 book ai didi

vba - 在自动筛选中组合多个排除 (<>) 标准

转载 作者:行者123 更新时间:2023-12-02 08:42:18 25 4
gpt4 key购买 nike

我已经通过使用这个肮脏的黑客解决了我的问题:

    ' Filter managerial functions
ActiveSheet.Range("$A$1:$BW$2211").AutoFilter Field:=36, Criteria1:="<>Head*", _
Criteria2:="<>IT*", Operator:=XlAutoFilterOperator.xlAnd
ActiveSheet.Range("$A$1:$BW$2211").AutoFilter Field:=36, Criteria1:="<>Local Head*", _
Criteria2:="<>Resp*", Operator:=XlAutoFilterOperator.xlAnd
ActiveSheet.Range("$A$1:$BW$2211").AutoFilter Field:=36, Criteria1:="<>Team Lead*", _
Criteria2:="<>XB*", Operator:=XlAutoFilterOperator.xlAnd

有什么办法可以将这 3 条语句合并到一行中吗?一旦我在一行中有第三个条件(Criteria3),Excel 似乎就会出现问题。此外,<>Array()似乎不受支持。

最佳答案

高级过滤器可能更适合此目的。

你也可以这样做:

Dim bUnion As Boolean
Dim i As Long
Dim vData As Variant
Dim rDataHide As Range

vData = Application.Transpose(ActiveSheet.Range("$AJ$1:$AJ$2211"))
bUnion = False

For i = 1 To 2211
If LenB(vData(i)) Then
If vData(i) Like Whatever Or vData(i) Like Whatever2 Then
If bUnion Then
Set rDataHide = Union(rDataHide, ActiveSheet.Range("$AJ$" & i))
Else
Set rDataHide = ActiveSheet.Range("$AJ$" & i)
bUnion = True
End If
End If
End If
Next i
rDataHide.Rows.Hidden = True

你甚至可以使用 RegEx,不过我之前并没有真正使用过 RegEx,所以你必须用 google 来搜索它。

关于vba - 在自动筛选中组合多个排除 (<>) 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7662659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com