我需要过滤包含日期的列。我需要获取日期介于current date
和current date + 15 days
这是我的VBA代码:
Dim seuilDate As Date, currentDate As Date
seuilDate = DateAdd("d", 15, Date)
currentDate = Date
MsgBox "Date seuil :" & seuilDate & " Current Date:" & currentDate
With Workbooks("macro1.xlsm").Worksheets("Feuil1")
If .FilterMode Then .ShowAllData
'.range("C:C").AutoFilter Field:=3, Operator:=xlFilterValues
.range("C:C").AutoFilter Field:=1, Criteria1:=">=" & currentDate, Criteria2:="<" & seuilDate, Operator:=xlAnd
End With
这是显示MessageBox的内容:
这就是我想要的,
但是在excel文件中我得到了:
日期和月份字段在CurrentDate+15
变量中反转。
知道如何解决这个问题。
答案 0 :(得分:1)
将日期值应用于自动过滤器时,将日期值转换为双打:
.range("C:C").AutoFilter Field:=1, Criteria1:=">=" & CDbl(currentDate), Criteria2:="<" & CDbl(seuilDate), Operator:=xlAnd
因为VBA非常以美国为中心。