【问题标题】:VBA Autofilter not equal toVBA自动过滤器不等于
【发布时间】:2022-01-23 18:43:42
【问题描述】:
Sub Macro1()
‘Remove all except validated
ActiveSheet.Range("$A$1:$H$5202").AutoFilter field:=8, Criteria1:<>"Validated"

Activesheet.Range("$A$2:$O$99999").SpecialCells(xlCellTypeVisible).Select
Selection.EntireRow.Delete

ActiveSheet.ShowAllData
 End sub

如何在 VBA 中替换“不等于”? 不起作用。

【问题讨论】:

    标签: excel vba filter basic


    【解决方案1】:

    如果您希望过滤条件排除“已验证”,请尝试更改此行:

    ActiveSheet.Range("$A$1:$H$5202").AutoFilter field:=8, Criteria1:<>"Validated"
    

    ActiveSheet.Range("$A$1:$H$5202").AutoFilter field:=8, Criteria1:="<>Validated"
    

    请注意,Criteria:= 中的 = 与您的过滤条件无关。 (它与 VBA 以及如何为命名参数提供参数有关。)

    【讨论】:

    • 我明白了。感谢您的帮助。
    • 如果标准本身是一个变量,它将如何应用?
    • @AntonioSantos,根据变量类型,您可能可以执行以下操作:ActiveSheet.Range("$A$1:$H$5202").AutoFilter Field:=8, Criteria1:="&lt;&gt;" &amp; someVariable。这假设有一个名为someVariable 的变量。如果您需要按日期过滤,您可能需要使用CDbl(someVariable),因为如果我理解正确,以编程方式过滤日期可能会有点尴尬。
    • 工作得很好!谢谢!
    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多