0
我有一個Excel工作簿,其中包含多個工作表,每個工作表上有多個數據透視表。我試圖遍歷每個數據透視表並將其「報告功能」過濾器更改爲從列表框中選擇的用戶指定值。所有數據透視表都有「報告功能」過濾器。VBA-「錯誤1004:無法獲取PivotField類的CurrentPage屬性」
我有大約50個數據透視表,並且代碼成功地更改了除8個樞軸點之外的所有濾鏡。這8個數據透視表的過濾器不會改變;相反,將返回錯誤「錯誤1004:無法獲取PivotField類的CurrentPage屬性」。
wHY是這段代碼爲少量的數據透視表返回這個錯誤嗎?
奇怪的是,它似乎是返回此錯誤的完全相同的數據透視表。
Sub ChangePivotFilter(str As String)
Dim ws As Excel.Worksheet
Dim aWB As Excel.Workbook
Dim myPivot As Excel.PivotTable
Dim myPivotField As Excel.PivotField
Set aWB = ActiveWorkbook
For Each ws In aWB.Worksheets
For Each myPivot In ws.PivotTables
Set myPivotField = Nothing
On Error Resume Next
Set myPivotField = myPivot.PivotFields("Report Function")
myPivotField.CurrentPage = str
Next myPivot
Next ws
End Sub
任何幫助非常感謝!
你肯定有任何的'str'爲「報告功能」'PivotField'匹配的結果?在所有表格中? –
即使您有錯誤恢復下一步,您是否收到該錯誤? – Sam
@Shai Rado是的,在所有數據透視表的報告功能字段中都有str的匹配。 – mark