Фильтр сводной таблицы VBA .ClearAllFilters без замены данных ниже - PullRequest
0 голосов
/ 16 мая 2019

У меня есть код для фильтрации сводной таблицы по диапазону дат не более 31 дня. Так как я знаю длину сводной таблицы, у меня есть другие данные и информация ниже сводной таблицы для работы. Проблема в том, что источник данных имеет гораздо больший диапазон дат, поэтому, когда я использую .ClearAllFilters, он хочет заменить все нижеуказанные данные, прежде чем отфильтровать их до нужного диапазона.

Вот мой простой код:

Set pt = RepSheet.PivotTables("PivotTable1")
    pt.PivotFields("Date").ClearAllFilters
    pt.PivotFields("Date").PivotFilters.Add Type:=xlDateBetween, _
        Value1:=SelectedDate1, Value2:=SelectedDate2

Я попробовал код ниже, чтобы установить все фильтры на False вместо очистки фильтров, но я просто получаю сообщение об ошибке при попытке установить фильтры.

With pt.PivotFields("Date")
    For i = 1 To .PivotItems.Count - 1
        .PivotItems(.PivotItems(i).Name).Visible = False
    Next i
End With

Есть предложения? Я действительно не хочу помещать данные поверх сводной таблицы.

...