【发布时间】:2021-02-20 14:54:55
【问题描述】:
我有一个巨大的 Excel 文件,其中包含许多数据透视表(来自 olap-cubes)——每 20 页大约有 5 个。每周我都需要更改数据过滤器并将它们向前移动 1 周。我已经编写了一个宏,但只针对一个数据透视表。
Sub Weeks_upd()
'
' Weeks_upd Ìàêðîñ
'
' Ctrl+u
'
ActiveSheet.PivotTables("PivotTable4").PivotFields( _
"[Fact data].[Year - Week - day].[Week]").VisibleItemsList = Array("")
ActiveSheet.PivotTables("PivotTable4").PivotFields( _
"[Fact data].[Year - Week - day].[Week]").VisibleItemsList = Array( _
"[Fact data].[Year - Week - day].[Week]").&[202025]", _
"[Fact data].[Year - Week - day].[Week]").&[202026]", _
"[Fact data].[Year - Week - day].[Week]").&[202027]", _
"[Fact data].[Year - Week - day].[Week]").&[202028]")
ActiveSheet.PivotTables("PivotTable4").PivotFields( _
"[Fact data].[Year - Week - day].[Week]").VisibleItemsList = Array("")
End Sub
如何为文件中的所有数据透视表展开此宏?或者是否有其他方法可以在不实际单击每个表的情况下更新数据透视表?
【问题讨论】:
-
尝试使用刷新所有命令? analysistabs.com/vba-code/workbook/m/refreshall
标签: excel vba pivot-table refresh olap-cube