宏不过滤日期

问题描述 投票:0回答:1

当我在Excel界面中使用过滤器时,我可以正确地排序日期。但是,我无法使用VBA使AutoFilter工作。当我运行宏时,每一行都被过滤掉了。当我从过滤工作中重用录制的宏时,也会发生这种情况。

基本的宏(我尝试过不同的标准组合!)是:

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

但正如我所说,这也过滤了每一行。

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

帮助感激地收到了!

excel vba autofilter
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.