【问题标题】:Filtering Data using a macro in Excel [duplicate]在 Excel 中使用宏过滤数据 [重复]
【发布时间】:2016-11-03 11:30:08
【问题描述】:

我有一行代码可以使用 excel 中的宏过滤掉数据。我希望它在一列上过滤掉两个不同的标准。请看下面的代码。从谷歌上看,它应该可以工作,但它不是..

Sub Unmet_Projects()

With Sheet1
    .AutoFilterMode = False
    .Range("A1:CA1").AutoFilter
    .Range("A1:CA1").AutoFilter Field:=3, Criteria1:="Fulfilled", Operator:=xlAnd, Criteria2:="Requested", VisibleDropDown:=False                    
End With

End Sub

【问题讨论】:

    标签: vba excel macros


    【解决方案1】:

    我认为应该是 Operator:=xlOr 而不是 Operator:=xlAnd,因为第 3 列(C 列)中的值只能是 Fulfilled Requested

    如果您希望在过滤器中包含更多值,那么我建议您改为:

    .Range("A1:CA1").AutoFilter Field:=3, Criteria1:=Array("Fulfilled", "Requested", "Partially Assigned", "Not yet assigned", "Assigned", "etc..."), Operator:=xlFilterValues
    

    【讨论】:

    • 完美,谢谢。是否可以添加更多标准。我实际上还有另外 4 个值需要过滤。我已经尝试过了,但它会覆盖第一个值。
    • Sub Unmet_Projects1() With Sheet1 .AutoFilterMode = False 。 Range("A1:CA1").AutoFilter .Range("A1:CA1").AutoFilter Field:=3, Criteria1:="Fulfilled", Operator:=xlOr, Criteria2:="Requested", VisibleDropDown:=True 。 Range("A1:CA1").AutoFilter Field:=3, Criteria1:="Partially Assigned", Operator:=xlOr, Criteria2:="Soft Booked", VisibleDropDown:=True End With End Sub
    • 如果此解决方案解决了您的问题,请将此帖子标记为已解决。如果您有新问题,请发布新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多