调整 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
我正在尝试创建一个附加到按钮的宏,该按钮将根据预定设置调整枢轴 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