[英]Update pivot tables with filters using VBA
到目前為止,我還沒有將VBA與數據透視表一起使用。 現在,我想更新(刷新)2個數據透視表,並將日歷周的過濾器設置為最后一整周。
我的問題是:
1)我實際上是否需要.ClearAllFilters
行,或者沒有它也可以設置過濾器嗎?
2)我可以在設置過濾器之前檢查表格中是否存在相應的項目(例如,第13周)嗎? 否則,我會嘗試過濾不存在的東西(還)。
3)我是否為此編寫了正確的代碼,或者有更短/更好的方法呢? 例如,我不知道,如果With
內With
會在這里是有道理的。
我的代碼:
Dim varLastSunday As Date, varWeekNumber As Integer
varLastSunday = Date - Weekday(Date, vbUseSystemDayOfWeek)
varWeekNumber = CLng(Format(varLastSunday, "ww"))
Application.ScreenUpdating = False
With Worksheets(4)
.Range("StartColumns").EntireColumn.Hidden = False
.PivotTables("PivotTable9").PivotCache.Refresh
.PivotTables("PivotTable9").PivotFields("WEEK_NUMBER").ClearAllFilters
.PivotTables("PivotTable9").PivotFields("WEEK_NUMBER").CurrentPage = varWeekNumber
.PivotTables("PivotTable10").PivotCache.Refresh
.PivotTables("PivotTable10").PivotFields("week").ClearAllFilters
.PivotTables("PivotTable10").PivotFields("week").CurrentPage = varWeekNumber
End With
Application.ScreenUpdating = True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.