фильтрация даты в формате «дд / мм / гггг ч: мм» - PullRequest
0 голосов
/ 02 октября 2019

вот скриншоты нефильтрованных данных

Sub qwe()
     ThisWorkbook.Sheets("book").Range("f1").AutoFilter Field:=6, Criteria1:=CDate("2018/10/1 4:20")
    End Sub

мне нужно отфильтровать дату в произвольном формате «дд / мм / гггг ч: мм»

Ответы [ 2 ]

1 голос
/ 02 октября 2019

Попробуйте следующее:

Sub test()

Dim str As String: str = DateSerial(2018, 10, 1) & " " & Format(TimeSerial(4, 41, 7), "hh:mm")
ThisWorkbook.Sheets("book").Range("f1").AutoFilter Field:=6, Criteria1:=str

End Sub
1 голос
/ 02 октября 2019

Я поиграл с вашим кодом, и поведение фильтрации действительно странно в некоторых случаях. Для меня это исправило установку .Criteria следующим образом:

Sub qwe()
 ThisWorkbook.Sheets("book").Range("f1").AutoFilter Field:=6, Criteria1:="=2018/10/1 4:20"
End Sub

Чтобы это работало, вам нужно убедиться, что ваши данные отформатированы как .Criteria: yyyy/mm/dd h:mm.

Обратите внимание, что это не тот формат, который вы явно указали в своем вопросе (dd/mm/yyyy h:mm). Если ваши данные отформатированы таким образом, вам нужно установить .Criteria следующим образом: "=01/10/2018 4:20"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...