【发布时间】:2020-12-13 11:37:08
【问题描述】:
我正在尝试使用自动过滤器来过滤日期范围内的日期列。我写了我的代码,发现它不起作用,所以我把它简化了,并尝试录制一个宏。似乎连录制宏都不起作用,因为它弄乱了日期格式。我有西班牙语的 Excel,我正在尝试使用 dd/mm/yyyy 日期格式。我决定通过过滤从 10/01/2020 到 20/01/2020 来记录一个宏,它给了我以下代码:
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AA$95").AutoFilter Field:=18, Criteria1:= _
">=10/01/2020", Operator:=xlAnd, Criteria2:="<=20/01/2020"
当我在录制宏时手动执行此操作时,它过滤了 3 个结果,但是当我再次尝试运行宏时,它会弄乱日期格式。如果我检查应用的过滤器,它会显示“在或等于:01/10/2020”和“在或等于:20/01/2020”。知道为什么在我运行代码时它只会改变一个日期的格式以及如何修复它吗?
谢谢
我也尝试过使用格式功能
ActiveSheet.Range("$A$1:$AA$95").AutoFilter Field:=18, Criteria1:= _
">=" & Format("10/01/2020", "dd/mm/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format("20/1/2020", "dd/mm/yyyy")
过滤时它仍然将“10/01/2020”更改为“01/10/2020”
【问题讨论】: