Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehlerbehandlung Pivotaktualisierung

Betrifft: Fehlerbehandlung Pivotaktualisierung von: Jens
Geschrieben am: 17.10.2014 11:52:53

Hallo zusammen,

in meiner Arbeitsmappe aktualisiere ich derzeit die Pivot mit der Funktion

Dim p As PivotTable
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
For Each p In ws.PivotTables
p.RefreshTable
Next
Next

Es kann allerdings vorkommen, dass keine Basisdaten vorhanden sind und somit die Aktualisierung fehlschlägt. Im Fehlerfall möchte ich gerne, dass die Pivot dann zwar aktualisiert aber gleichzeitig eine Fehlermessage ausgegeben wird. Hintergrund ist, dass durch die Aktualisierung die vorherigen Daten aus der Anzeige "gelöscht" werden sollen und nicht durch einen Abbruch (on error resume next) weiterhin sichtbar sein sind. Alternativ könnte die Pivot auch gelöscht werden.

Ich hoffe ich habe mich verständlich ausgedrückt und ihr könnt mir helfen?!

  

Betrifft: AW: Fehlerbehandlung Pivotaktualisierung von: fcs
Geschrieben am: 17.10.2014 14:40:28

Hallo Jens,

hier eine besondere Fehlerbehandlung, die ggf. noch ein wenig angepasst werden muss.

Gruß
Franz

Sub xxTest()
  Dim p As PivotTable
  Dim ws As Worksheet
  On Error GoTo Fehler
  For Each ws In ActiveWorkbook.Worksheets
    For Each p In ws.PivotTables
      p.RefreshTable
      Resume_Next
    Next
  Next
Fehler:
  With Err
    Select Case .Number
      Case 0
      
      Case Else
        MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
            & "Keine Daten für Pivottabelle " & p.Name & " in Tabelle " & ws.Name
            Resume Resume_Next
        p.TableRange2.Clear
    End Select
  End With
  
End Sub