0

我一直在尝试使用 VBA 的高级过滤方法来排除一组标准。这是一个简化的例子。

在此处输入图像描述

我的标准就这样存储在工作表“标准”中。

在此处输入图像描述

我现在要过滤数据,以便排除包含名称“Joe”或作业“Pilot”的任何条目。我尝试了以下方法:

Sub filter_data()
 With Worksheets("Data")
  .Activate
  .Range("A1:C10").AdvancedFilter _
  Action:= xlFilterInPlace, _
  CriteriaRange:= Worksheets("Criteria").Range("A1:C3")
 End With
End Sub

如果我不使用<>运算符,我检查了我的代码是否过滤了数据。这就像一个魅力,只包括包含“乔”或“飞行员”的条目。但是,排除上述条目不起作用。有人可以帮忙吗?

4

1 回答 1

2

因为你正在寻找你想要的否定而不是或。

然后在 A2 中输入:<>Joe

然后在 C2 中输入:<>Pilot

所以它看起来像这样:

在此处输入图像描述

然后将引用更改为仅两行:

Sub filter_data()

    With Worksheets("Data")
        .Range("A1:C10").AdvancedFilter _
        Action:=xlFilterInPlace, _
        CriteriaRange:=Worksheets("Criteria").Range("A1:C2")
    End With
End Sub

在此处输入图像描述

于 2021-05-27T18:52:17.620 回答