在PowerPivot中为“CubeFields”循环

对于我的生活,我无法弄清楚如何为所有的立方体域的EnableMultiplePageItems做一个循环。 所以我不得不求助于这样的事情。

Sub MultipleFilter() ActiveSheet.PivotTables("PivotTable1").CubeFields(1).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(2).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(3).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(4).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(5).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(6).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(7).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(8).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(9).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(10).EnableMultiplePageItems = True ActiveSheet.PivotTables("PivotTable1").CubeFields(11).EnableMultiplePageItems = True End Sub 

任何帮助,将不胜感激!

请参阅: https : //msdn.microsoft.com/en-us/library/office/ff193066.aspx

 Dim objCubeFld For Each objCubeFld In ActiveSheet.PivotTables("PivotTable1").CubeFields objCubeFld.EnableMultiplePageItems = True Next objCubeFld 

我认为这是因为EnableMultiplePageItems不适用于度量。 循环与您所期望的几乎一样,但是您需要testing每个CubeFieldCubeFieldType属性,并仅为types为xlHeirarchy启用该属性。

 Dim cf As CubeField For Each cf In ActiveSheet.PivotTables("PivotTable4").CubeFields If cf.CubeFieldType = xlHierarchy Then cf.EnableMultiplePageItems = True End If Next cf 

有关详细信息: https : //msdn.microsoft.com/en-us/library/office/ff835244.aspx https://msdn.microsoft.com/en-us/library/office/ff823030.aspx