宏不过滤日期

时间:2019-03-05 11:25:56

标签: excel vba autofilter

当我在Excel界面中使用过滤器时,我可以正确地对日期进行排序。但是,我无法使用VBA使自动筛选器正常工作。当我运行宏时,每一行都会被过滤掉。当我从有效的过滤中重复使用记录的宏时,也会发生这种情况。

基本宏(我尝试过不同的条件组合!)是

Sub FilterDates1()

    ActiveSheet.UsedRange.AutoFilter Field:=8, _
    Criteria1:=">" & Format([31/12/2018], "dd/mm/yyyy"), _
    Criteria2:="<=" & Format([31/12/2019], "dd/mm/yyyy")

End Sub

记录器中的宏为:

Sub FilterDates2()

    ActiveSheet.Range("$A$1:$U$1450").AutoFilter Field:=8, _
    Criteria1:=">31/12/2018", Operator:=xlAnd, Criteria2:="<=31/12/2019"

End Sub

但是正如我所说,这也会过滤掉每一行。

单元格的格式是正确的,但是有些单元格的条目无效(例如“已取消”)。由于这是用户输入的数据,因此我需要一个可以允许无效条目的宏。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Format("31/12/2019", "dd/mm/yyyy")

Format([31/12/2019], "dd/mm/yyyy")给出30/12/1899,因为它将[评估为31除以12除以2019