所以我一直在試圖弄清楚過去兩天我做錯了什么,我似乎無法克服這個錯誤。
錯誤是“無法設定 PivotField 類的 CurrentPage 屬性”
這是我的代碼:
Sub FilterBasedOnCellValue()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Dim pt As PivotTable
Dim PFilter As String
Dim pf As PivotField
Dim filterValue As String
Dim leftp As String
Dim rightp As String
Set wb = Application.Workbooks("Activity Report (Automated WIP).xlsm")
Set ws = wb.Worksheets("Formulas")
Set pt = ActiveSheet.PivotTables("DailyActivity")
Set pf = pt.PivotFields("[Activity_RAW].[Column1].[Column1]")
Set rng = ws.Range("Filter")
leftp = "&["
rightp = "]"
PFilter = "[Activity_RAW].[Column1]." & leftp & rng & "T00:00:00" & rightp
With pf
.ClearAllFilters
.CurrentPage = PFilter
.RefreshTable
End With
End Sub
似乎導致它的行是“.CurrentPage = PFilter”行。
“Column1”過濾器位于資料透視表的實際“過濾器”欄位中。當我錄制一個過濾它的宏時,它使用 CurrentPage,這就是我感到困惑的原因。
我的資料透視表是基于 OLAP 的資料透視表,所以我不確定我是否使用了正確的代碼?
任何幫助,將不勝感激。
謝謝!
uj5u.com熱心網友回復:
所以我發現了導致問題的原因!
我需要將“.CurrentPage”更改為“.CurrentPageName”
我會在這里為任何可能遇到與我相同的問題的人發布它!
Sub FilterBasedOnCellValue()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Dim pt As PivotTable
Dim PFilter As String
Dim pf As PivotField
Dim filterValue As String
Dim leftp As String
Dim rightp As String
Set wb = Application.Workbooks("Activity Report (Automated WIP).xlsm")
Set ws = wb.Worksheets("Formulas")
Set pt = ActiveSheet.PivotTables("DailyActivity")
Set pf = pt.PivotFields("[Activity_RAW].[Column1].[Column1]")
Set rng = ws.Range("Filter")
leftp = "&["
rightp = "]"
PFilter = "[Activity_RAW].[Column1]." & leftp & rng & "T00:00:00" & rightp
With pf
.ClearAllFilters
.CurrentPageName = PFilter
End With
pt.RefreshTable
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/471477.html
上一篇:突出顯示選定單元格的周圍單元格
