我正在使用代码刷新数据透视表,并且可以正常工作,但是我被错误处理程序卡住了,它给了我:



这是我正在使用的代码:

Sub RefreshAllPivots()

On Error GoTo Errhandler

  Dim pivotTable As pivotTable
  For Each pivotTable In ActiveSheet.PivotTables
    pivotTable.RefreshTable
  Next

Errhandler:

     MsgBox "Error Refreshing " & pivotTable.Name

MsgBox "All Pivots Refreshed"

End Sub

非常感谢

最佳答案

仅在出现错误时才显示错误消息。此外,您可能希望检查在分配数据透视表对象时是否发生了错误:

Sub RefreshAllPivots()
    On Error GoTo ErrHandler

    Dim pt As PivotTable
    For Each pt In ActiveSheet.PivotTables
        pt.RefreshTable
    Next pt
ErrHandler:
    If err Then
        If Not pt Is Nothing Then
            MsgBox "Error Refreshing " & pt.Name
        Else
            MsgBox "Unexpected error"
        End If
    Else
        MsgBox "All Pivots Refreshed"
    End If
End Sub

请注意,我将您的pivotTable变量重命名为pt-使用保留字作为变量名不是一个好习惯。

09-27 14:25