VBA日期格式

时间:2016-04-25 12:07:34

标签: excel vba excel-vba date

我需要过滤包含日期的列。我需要获取日期介于current datecurrent 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的内容:

enter image description here

这就是我想要的,

但是在excel文件中我得到了:

enter image description here

日期和月份字段在CurrentDate+15变量中反转。

知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

将日期值应用于自动过滤器时,将日期值转换为双打:

   .range("C:C").AutoFilter Field:=1, Criteria1:=">=" & CDbl(currentDate), Criteria2:="<" & CDbl(seuilDate), Operator:=xlAnd

因为VBA非常以美国为中心。