Clever-Excel-Forum

Normale Version: VBA alle Pivottabellen bei Dateistart aktualisieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey Leute,

hat jemand den Code für die workbook_open Methode, mit der alle Pivottabellen in der Arbeitsmappe beim Start der Datei aktualisiert werden?


VG

Code:
Private Sub Workbook_Open()
Dim wks As Worksheet
Dim pt As PivotTable
     
For Each wks In Worksheets
   For Each pt In wks.PivotTables
       pt.RefreshTable
   Next pt
Next wks

End Sub

Das sollte eigentlich funktionieren?

So einfach war es wohl nicht. Er steigt bei  pt.RefreshTable aus und sagt, dass er das Objekt nicht finden konnte. 

Nicht jedes Arbeitsblatt besitzt auch eine Pivottabelle und viele Blätter mit Pivottabelle sind ausgeblendet (sollen aber trotzdem aktualisiert werden). 

Hat Jemand eine Lösung?
hALLÖCHEN;

Mit wks.Pivottables.Count könntest Du prüfen, ob auf dem Blatt welche sind und nur in dem Fall auch refreshen.
Wenn ein Refresh auf ausgeblendeten Blättern nicht geht, kannst Du diese einblenden und anschließend wieder ausblenden. Du könntest den "Blend"-Status eines Blattes in eine Variable packen, das Blatt einblenden und am Ende den "Blend"-Status wiederherstellen.