[英]VBA code in Excel with pivot tables
數據源將經常更改。 刷新數據透視表后,我將使用以下代碼更新成績數據透視表項字段。 有時有4年級,有時沒有。 本質上,如果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
你不能捕獲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")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.