Я бы хотел отфильтровать 1 серию данных между двумя диапазонами дат.
Диапазон дат 1: переход со вчерашней даты на 28 дней назад.
Диапазон дат 2: возврат на один год со вчерашнего днядата до 28 дней назад.
Для фильтрации по одному диапазону дат у меня работает этот код:
Sub DateFilter()
Dim StartDateTY As Date
Dim EndDateTY As Date
StartDateTY = Date - 29
EndDateTY = Date - 1
Sheets("Main").Range("$A$4:$O$5000").AutoFilter Field:=2, _
Criteria1:=">=" & CDbl(StartDateTY), Operator:=xlAnd, _
Criteria2:="<=" & CDbl(EndDateTY)
End Sub
Я думал, что могу использовать массивы для использования 2 разных диапазонов дат, но не могузаставить его работать.
Sub DateFilter2Ranges()
Dim StartDateTY As Date
Dim EndDateTY As Date
StartDateTY = Date - 29
EndDateTY = Date - 1
Dim StartDateLY As Date
Dim EndDateLY As Date
StartDateLY = Date - 29 - 365
EndDateLY = Date - 1 - 365
Sheets("Main").Range("$A$4:$O$5000").AutoFilter Field:=2, _
Criteria1:=Array(0, ">=" & CDbl(StartDateTY), 0, ">=" & CDbl(StartDateLY)), Operator:=xlAnd, _
Criteria2:=Array(1, "<=" & CDbl(EndDateTY), 1, "<=" & CDbl(EndDateLY))
End Sub
Я также подумал, что могу смешать операторы 'И' и 'ИЛИ', если это возможно.