Мне нужна помощь в фильтрации элементов сводки с диапазоном дат.Элементы - это даты в формате ГГГГ-ММ-ДД между 2014 и 2018 годами. Я хотел бы, чтобы в сводной таблице были видны только элементы последних 12 месяцев.
Код, который я создал, сначала проверяет все элементы в раскрывающемся списке сводной таблицы.Затем он должен снять все пункты, которые не в пределах 12-месячного диапазона.
Проблема: код ничего не фильтрует, поэтому все элементы все еще видны.
Dim pivot As PivotItem
Dim currentMonth As Integer
Dim currentYear As Integer
currentMonth = Month(Date)
currentYear = Year(Date)
ActiveSheet.PivotTables("OEMI").RefreshTable
ActiveSheet.PivotTables("OEMI").PivotFields("Date sent to Coordinator").EnableMultiplePageItems = True
For Each pivot In ActiveSheet.PivotTables("OEMI").PivotFields("Date sent to Coordinator").PivotItems
If Not (Year(pivot) = currentYear And Month(pivot) <= currentMonth) Or _
(Year(pivot) = currentYear - 1 And Month(pivot) > currentMonth) Then
pivot.Visible = False
Else
'Do nothing and stay visible in the drop-down list
End If
Next pivot
РЕДАКТИРОВАТЬ ***************** Я использовал окно просмотра, чтобы увидеть значение и тип переменных, когда код проходит цикл For Each,Кажется, у меня проблема с несоответствием типов при использовании метода pivot.visible = true / false.Есть идеи, в чем может быть проблема? Окно просмотра
Фрагмент данных