Я пытаюсь отфильтровать сводную таблицу на основе значения в диапазоне "A1"
Я фильтрую по одному значению за раз, поэтому я отключил множественный выбор в сводной таблице.
Мне удалось найти что-то похожее:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pt As PivotTable
Dim Field As PivotField
Dim A1Value As String
If Not Intersect(Target, Range("A1")) Is Nothing Then
Set pt = Worksheets("Sheet2").PivotTables("PivotTable2")
Set Field = pt.PivotFields("Test")
A1Value = Worksheets("Sheet1").Range("A1").Value
pt.ManualUpdate = True
With pt
Field.ClearAllFilters
Field.CurrentPage = A1Value
End With
pt.ManualUpdate = False
End If
End Sub
Я только хочу применить фильтр, а не обновлять таблицу каждый раз.
Поэтому я добавил .ManualUpdate, чтобы не допустить обновления таблицы Pivot на каждомизменение статуса.
Но, похоже, код не работает. Может быть, есть лучший способ сделать это?