如何在数据透视表filter中select(全部)

我需要(All)在我的数据透视表中被选中

我尝试了以下

 Dim pf As PivotField Set pf = Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField") For Each Pi In pf.PivotItems Pi.Visible = True Next Pi 

这工作非常缓慢,并不好

另一个选项根本不起作用。 它只select以前select的一些项目

 Worksheets("xxx").PivotTables("PivotTable1").PivotFields("myFilterField").CurrentPage = "(All)" 

你可能会打电话.Visible = True有几个原因,所以希望下面的内容之一涵盖你要做的事情:

如果你的意思是你想要设置所有的Pi在一个步骤中可见,而不是通过pf.PivotItems中的Pi来枚举:

pf.ShowAllItems = True

另一方面,如果你的意思是你想清除所有的filter,那么:

pf.ClearAllFilters()

或者,如果您只想清除手动filter(即,不是针对实际的行/列而是针对filter字段应用filter),则:

pf.ClearManualFilters

有关完整列表,请参阅PivotField对象成员的帮助