過濾器更新數據透視表到目前爲止,我還沒有使用VBA使用數據透視表。現在我想更新(刷新)2數據透視表並將日曆星期的過濾器設置爲最後一週。使用VBA
我的問題/這裏的問題是:
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
1.做一個測試2.可能是的,用DLookup()作爲一個選項3.'With'可以嵌套,但不會看到你爲什麼在這個代碼中。 – June7