使用VBA的多重过滤条件

时间:2019-01-07 16:37:49

标签: excel vba

我有示例excel:

enter image description here

我想在满足以下条件时过滤出值:

  • 如果UCase(功能)<>“ BTM”和结果<>“”

我的代码是:

        Dim range_to_filter4 As Range
        Set range_to_filter4 = .Range("A:G")
        range_to_filter4.AutoFilter Field:=2, Criteria1:="<>BTM", Operator:=xlAnd, Field:=3, Criteria2:=""

我的问题是,我无法获得预期的输出。没有找到记录。在我的示例中,我需要获取PKUMAR168的整个行。我的代码有什么问题吗?谢谢您的帮助。

2 个答案:

答案 0 :(得分:0)

使用with语句

With Range("a:g")
    .AutoFilter Field:=2, Criteria1:="<>BTM"
    .AutoFilter Field:=3, Criteria2:=""
End With

答案 1 :(得分:0)

您可以尝试一下,也许会有所帮助。

Set src_sheet = ThisWorkbook.Sheets("Your_Sheet_Name")

src_sheet.Range("A:G").AutoFilter Field:=2, Criteria1:="<>BTM"
src_sheet.Range("A:G").AutoFilter Field:=3 Criteria1:=""