数据源会经常更改。刷新数据透视表后,我有以下代码来更新成绩数据透视表项字段。有时4级可用,有时则不是。基本上,如果4级可用,我希望它被选中,如果它不可用,则可以选择所有字段。出于某种原因,当我运行它时,它会在else行停止。有什么建议?
ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").ClearAllFilters
If IsError(ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").CurrentPage = "4") Then
ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").CurrentPage = _
"(All)"
Else
ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").CurrentPage = "4"
End If
答案 0 :(得分:0)
您无法使用PivotField("Grade").CurrentPage
捕获IsError
错误。
尝试以下代码:
ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").ClearAllFilters
On Error Resume Next
ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").CurrentPage = "4"
If Err.Number <> 0 Then
ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade").CurrentPage = _
"(All)"
On Error GoTo 0
End If
注意:如果您使用With
语句,则可以清理代码。在您的代码中,您可以使用With ActiveSheet.PivotTables("PivotTable1").PivotFields("Grade")