数据透视表如何将filter中的所有项目设置为false?

我有一个MS Excelmacros创build一个数据透视表。 在数据透视表中我想过滤多个项目。 所以首先你需要设置所有的项目为false,然后设置你想包含的项目为true。 所以目前我有:

With ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle") .PivotItems("FXA BI_MH Pre UAT C1").Visible = False .PivotItems("FXA BI_MH Pre UAT C2").Visible = False .PivotItems("FXA Reg C1").Visible = False .PivotItems("MC3").Visible = False .PivotItems("PT Cycle 1").Visible = False .PivotItems("Regression Test (APO)").Visible = False .PivotItems("SIT CR").Visible = False .PivotItems("SIT Cycle 2").Visible = False .PivotItems("UAT - Data Conv").Visible = False .PivotItems("UAT Pre-Test - Additional").Visible = False .PivotItems("UAT Pre-Test - Final").Visible = False .PivotItems("UAT Pre-Test - Iteration 2").Visible = False End With ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle"). _ EnableMultiplePageItems = True 

然而,“testing周期”项目会改变,如果新testing项目被引入,它会自动包含,因为我没有将其设置为false。 有没有办法只是将所有的select设置为false,像(这不起作用):

 With ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle") .PivotItems("(All)").Visible = False End With ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle"). _ EnableMultiplePageItems = True 

在@Josh的帮助下,我有:

 ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle"). _ EnableMultiplePageItems = True With ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle") For i = 1 To .PivotItems.Count - 1 If .PivotItems(i).Name <> "UAT Pre-test (FXA)" _ And .PivotItems(i).Name <> "UAT C2 (FXA)" Then .PivotItems(.PivotItems(i).Name).Visible = False End If Next i End With 

尝试使用以下方法closuresfilter,而不是手动列出每个项目:

 With ActiveSheet.PivotTables("PivotTable2").PivotFields("Test Cycle") For i = 1 To .PivotItems.Count - 1 .PivotItems(.PivotItems(i).Name).Visible = False Next i End With 

请记住,在使用Excel界面时,必须至lessselect一个项目才能保存filter。

Excel透视表筛选器至少需要一个值