【问题标题】:Filtering dates and strings with one autofilter使用一个自动过滤器过滤日期和字符串
【发布时间】:2016-07-12 19:16:27
【问题描述】:

我正在尝试过滤一系列日期,同时忽略包含“0000-00-00”的空白和单元格

如果需要,我可以发布整个代码,但这是我遇到问题的 sn-p。

Set ComboRange = .Range(.Cells(1, 1), .Cells(lcRow, lcColumn))
ComboRange.AutoFilter Field:=6, Criteria1:= _
    "<=" & Finish, Operator:=xlOr, Criteria2:=Array("0000-00-00", "=")

在我的代码中,lcRow 和 lcColumn 只表示最后一行和最后一列。完成是一个日期,例如 2016 年 6 月 30 日。我的问题是,这正在删除我包含“0000-00-00”的数据。我曾尝试将我的运算符更改为 xlAnd 和 xlFilterValues 但都没有奏效。感谢您的帮助!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    这应该可行:

    ComboRange.AutoFilter Field:=6, Criteria1:= Array("0, " & Finish), _ 
        Operator:=xlFilterValues, Criteria2:=Array("0000-00-00", "=")
    

    第一个数组中的 0 表示大于或等于。

    【讨论】:

    • 这给出了“运行时错误 '1004': Range 类的 AutoFilter 方法失败”
    • @BerticusMaximus - 立即尝试。您可能需要尝试加载 Finish 变量和字符串的方式。直到早上我才能再次测试。
    • 这又出现了一个错误。这并不漂亮,但我通过循环所有内容并取消隐藏行来解决我的问题。如果明天没有其他人发布任何内容,请检查您的答案作为解决方案。
    猜你喜欢
    • 2020-11-20
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    相关资源
    最近更新 更多