我正在尝试创建一个动态的宏,并通过所有可能的页面过滤器组合运行并生成报告。
现在,我只有两个过滤器:AccountManager 和 CostCenter,下面的宏会遍历 AccountManager 的所有值及其对应的 CostCenter 值并准备报告。
Sub Run_All_Reports()
Dim PT As PivotTable
Dim PF As PivotField
Dim PI As PivotItem, PI2 As PivotItem
Sheets("Pivot").Activate
Set PT = ActiveSheet.PivotTables("Budget")
For Each PI In PT.pageFields(1).PivotItems
PT.pageFields(1).CurrentPage = PI.Name
For Each PI2 In PT.pageFields(2).PivotItems
PT.pageFields(2).CurrentPage = PI2.Name
Call Run_Report
Next
Next
End Sub
我不知道如何将此功能扩展为动态的,即它读取存在多少页面过滤器,然后为每个可能的组合准备报告。
可以说,我介绍了另一个过滤器 - 区域。然后它应该为所有可能的组合生成报告。下面的一个例子:
John, Marketing, London
John, Marketing, NewYork
John, Sales, London
Sam, Sales, London
Sam, Sales, NewYork
不确定我是否足够清楚。我试图四处寻找,但找不到解决方案。我被问到 2 页过滤器的这个问题,我已经实现了上述解决方案,但从昨天开始我就头疼,因为我希望它在我的脑海中是动态的。