Макрос не фильтрует даты - PullRequest
0 голосов
/ 05 марта 2019

Когда я использую фильтр в интерфейсе Excel, я могу правильно сортировать даты.Тем не менее, я не могу заставить автофильтр работать с использованием VBA.Когда я запускаю макрос, каждая строка отфильтровывается.Это также происходит, когда я повторно использую записанный макрос из сработавшей фильтрации.

Базовый макрос (я пробовал разные комбинации критериев!):

Sub FilterDates1()

    ActiveSheet.UsedRange.AutoFilter Field:=8, _
    Criteria1:=">" & Format([31/12/2018], "dd/mm/yyyy"), _
    Criteria2:="<=" & Format([31/12/2019], "dd/mm/yyyy")

End Sub

Макрос из рекордераis:

Sub FilterDates2()

    ActiveSheet.Range("$A$1:$U$1450").AutoFilter Field:=8, _
    Criteria1:=">31/12/2018", Operator:=xlAnd, Criteria2:="<=31/12/2019"

End Sub

Но, как я уже сказал, это также отфильтровывает каждую строку.

Форматирование ячеек правильное, но есть некоторые ячейки с недопустимыми записями (например, «Отменено»).).Так как это введенные пользователем данные, мне нужен макрос, который может разрешить недопустимые записи.

С благодарностью принята помощь!

1 Ответ

1 голос
/ 05 марта 2019

Format("31/12/2019", "dd/mm/yyyy")

Format([31/12/2019], "dd/mm/yyyy") дает 30/12/1899, поскольку он оценивает [ до 31, деленное на 12, деленное на 2019

...