我有一个包含多个工作表的Excel工作簿,每个工作表上都有多个数据透视表。我正在尝试遍历每个数据透视表并将其“报表功能”过滤器更改为从列表框中选择的用户指定值。所有数据透视表都有“报告功能”过滤器。
我有大约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
非常感谢任何帮助!