Microsoft Excel

Herbers Excel/VBA-Archiv

Alle Pivot aktualisieren


Betrifft: Alle Pivot aktualisieren von: schen4ik
Geschrieben am: 11.10.2017 11:38:21

Hallo,

als eine mögliche Lösung für mein vorherige Anfrage, habe ich folgenden Code angepasst.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim pt As PivotTable

If ActiveSheet.Range("P1") = ActiveSheet.Range("Q1") Then
    For Each pt In ActiveSheet.PivotTables
        pt.RefreshTable
    Next pt´
End If

End Sub


Sieh auch Anhang

https://www.herber.de/bbs/user/116871.xlsm

Leider werden meine Pivot's in der Tabelle nicht automatisch aktualisiert.

Woran liegt das ?

Einen Debug-Fehler gibt es auch nicht.

Grüße

Schen4ik

  

Betrifft: Der Code rennt... von: Case
Geschrieben am: 11.10.2017 12:52:42

Hallo, :-)

... und rennt, und rennt, da er sich immer wieder selber aufruft. Dann wird immer nur die erste Pivot aktualisiert - irgendwann kommt dann ein Timeout und der Code bricht ab. Du musst also die Events abschalten ;-)

Nimm "Application.EnableEvents = False" am Anfang und "Application.EnableEvents = True" am Ende, dann geht das: ;-)

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pt As PivotTable
    On Error GoTo Fin
    Application.EnableEvents = False
    If Range("P1") = Range("Q1") Then
        For Each pt In ActiveSheet.PivotTables
            pt.RefreshTable
        Next pt
    End If
Fin:
    Application.EnableEvents = True
End Sub
Du brauchst in Ereignismakros auch kein "ActiveSheet" - maximal ein "Me". ;-)

Servus
Case



  

Betrifft: AW: Der Code rennt... von: schen4ik
Geschrieben am: 11.10.2017 13:38:44

Hallo Case,

Prima !!!

vielen Dank für deine Unterstüzung

Grüße

Schen4ik


Beiträge aus den Excel-Beispielen zum Thema "Alle Pivot aktualisieren"