2016-04-25 2 views
0

Мне нужно отфильтровать столбец, содержащий даты. Мне нужно, чтобы получить все строки, в которых дата между current date и current date + 15 daysФормат даты VBA

Это мой 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

Преобразование значения даты двойников при применении их к Автофильтру:

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

в VBA очень US-ориентированный.

+0

спасибо @Rory, которые работают для меня;) – Kamel