我正在尝试根据范围“ 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以阻止数据透视表在每次状态更改时刷新。
但是代码似乎不起作用。也许有更好的方法可以做到这一点?