调整 Pivot 的过滤器 Table VBA

Adjust filters of a Pivot Table VBA

我正在尝试创建一个附加到按钮的宏,该按钮将根据预定设置调整枢轴 table 的过滤器。我想先清除所有枢轴 table 过滤器 select 我想要的过滤器。下面的代码给我 运行-时间错误“1004”:无法设置 PivotField class 的 PivotItems 属性。它也不会清除 Pivot 上的过滤器 Table

    Sub PC()

'code for WHS1
Worksheets("Multi_WHS_Pivot").Activate
ActiveSheet.PivotTables("Table").PivotFields("Branch").CurrentPage = "(All)"
With ActiveSheet.PivotTables("Table").PivotFields("Branch")
    .ClearAllFilters
    .EnableMultiplePageItems = True
    .PivotItems("015") = True
    .PivotItems("716") = True
    .PivotItems("710") = True
End With
Worksheets("Main Data").Activate
End Sub

非常感谢任何能提供帮助的人

我还没有测试过,但我修改了你的宏,让它循环遍历每个数据透视表项。对于每个数据透视项,如果名称不等于“015”、“716”或“710”,则可见 属性 设置为 False。

Sub PC()
    
    Dim currentPivotItem As PivotItem

    'code for WHS1
    With Worksheets("Multi_WHS_Pivot").PivotTables("Table").PivotFields("Branch")
        .ClearAllFilters
        .EnableMultiplePageItems = True
        For Each currentPivotItem In .PivotItems
            If IsError(Application.Match(currentPivotItem.Name, Array("015", "716", "710"), 0)) Then
                currentPivotItem.Visible = False
            End If
        Next currentPivotItem
    End With
    
    Worksheets("Main Data").Activate
    
End Sub