我需要在我的数据透视表中选择(All)
我尝试了以下
Dim pf As PivotField
Set pf = Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField")
For Each Pi In pf.PivotItems
Pi.Visible = True
Next Pi
这非常缓慢,而且效果不佳
另一种选择根本不起作用。它仅选择之前选择的一些项目
Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").CurrentPage = "(All)"
答案 0 :(得分:2)
你可能会因为几个原因而调用.Visible = True,所以希望以下其中一个涵盖你想要做的事情:
如果您的意思是想要将所有Pi设置为一步显示,而不是仅通过pf.PivotItems中的Pi进行枚举:
pf.ShowAllItems = True
另一方面,如果您想要清除所有过滤器,那么:
pf.ClearAllFilters()
或者,如果您只想清除手动过滤器(即不是针对实际行/列提交的过滤器,而是针对过滤器字段),那么:
pf.ClearManualFilters
请参阅PivotField对象成员的帮助以获取完整列表
答案 1 :(得分:0)
尝试以下代码:
Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").ClearAllFilters