当我在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
但是正如我所说,这也会过滤掉每一行。
单元格的格式是正确的,但是有些单元格的条目无效(例如“已取消”)。由于这是用户输入的数据,因此我需要一个可以允许无效条目的宏。
非常感谢您的帮助!
答案 0 :(得分:1)
Format("31/12/2019", "dd/mm/yyyy")
Format([31/12/2019], "dd/mm/yyyy")
给出30/12/1899,因为它将[
评估为31除以12除以2019