excel vba autofilter不过滤日期

时间:2012-05-21 15:09:41

标签: excel excel-vba vba

我有一列日期,这是数据库的输出。有一个宏在此日期过滤,用于显示当前日期之前14天以上的所有日期,不包括空值。应用时过滤器会过滤整个工作表并且不显示任何内容。当我取下-14时,我确实得到了日期,我甚至尝试使用alt a,e,f来确保列格式正确,但没有运气。

这是我的代码段:

ActiveSheet.UsedRange.AutoFilter Field:=34, Criteria:="<>NULL", _
Operator:=xlAnd, Criteria2:="<" & Now()-14

我尝试将criteria2更改为"<" & Date - 14 & "# 00:00:00 AM#"

请帮忙

1 个答案:

答案 0 :(得分:1)

试试这个

Criteria:="<>NULL"更改为Criteria1:="<>NULL"

<强>后续

代码无效,因为标题不在第1行。一旦指定了确切的范围,它就开始工作了。

Option Explicit

Sub Sample()
    Dim lRow As Long

    lRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

    ActiveSheet.AutoFilterMode = False

    ActiveSheet.Range("$A$2:$BV$" & lRow).AutoFilter Field:=34, Criteria1:="<>NULL" _
    , Operator:=xlAnd, Criteria2:="<" & Format(Date - 14, "0")
End Sub