滚动数据透视表报表筛选器的VBA脚本

时间:2014-01-07 19:51:21

标签: excel vba excel-vba pivot-table

我的数据透视表中有一个repot过滤器,我想为其选择一个值,然后运行一个宏。是否有任何脚本会遍历过滤器中的所有值?举一个例子:我有1月,2月和3月作为选择报告过滤器的选项,并希望脚本选择1月然后运行宏,然后选择2月并运行宏,最后选择3月并运行宏。

我不能让剧本选择“1月”,“2月”等的值,因为 - 在我正在做的工作中而不是示例 - 我不仅限于一年中的12个月,而是几百个变量,每个变量都可能不时变化。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这应该让你开始:

Sub CycleReportItems()
Dim pvt As Excel.PivotTable
Dim pvtPageField As Excel.PivotField
Dim pvtItem As Excel.PivotItem

Set pvt = ActiveSheet.PivotTables(1)
Set pvtPageField = pvt.PageFields(1)
For Each pvtItem In pvtPageField.PivotItems
    pvtPageField.CurrentPage = pvtItem.Name
    'put your actual code here
    Debug.Print pvtItem.Name
Next pvtItem
End Sub

有关编制数据透视表的更多信息,请查看Debra Dalgleish's amazing site