Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


[Excel] Pivottabellen aktualisieren
#1
Hallo,

Excel bietet mit Pivot-Tabellen ein mächtiges Auswertungsinstrument an.

Wenn eine Pivottabelle (PT) aktualisiert werden soll, gibt es mehrere Alternativen:

Man nutzt den Button 'Aktualisieren' in den PivotTable-Tools

   

Mit der folgenden Einstellung an wird beim Öffnen der Mappe die PT aktualisiert:
- Rechtsklick auf die PT - PivotTable-Optionen - Register Daten - [X] Aktualisieren beim Öffnen der Datei

Wenn die PT in einem separaten Tabellenblatt erstellt wurde, kann man hinter das Modul des Tabellenblattes auch ein Worksheet_Activate-Makro hinterlegen:

Code:
Private Sub Worksheet_Activate()
Dim pt As PivotTable
  For Each pt In ActiveSheet.PivotTables
     pt.RefreshTable
  Next pt
End Sub

Wenn die PT im gleichen Arbeitsblatt liegt, dann könnte man einfach einen CommandButton aus den ActiveX-Steuerelementen im Menü Entwicklertools aufziehen und den folgenden Code hinterlegen:

Code:
Private Sub CommandButton1_Click()
Dim pt As PivotTable
  For Each pt In ActiveSheet.PivotTables
     pt.RefreshTable
  Next pt
End Sub

Wenn mehrere PTs in einer Mappe liegen und auf einen Schlag alle PTs aktualisiert werden sollen, dann könnte man folgende Prozedur nutzen:

Für einen Durchlauf durch alle PTs einer Mappe kannst Du die folgende Prozedur nutzen:

Code:
Sub RefreshPT()
   Dim wS As Worksheet
   Dim pt As PivotTable
   For Each wS In ActiveWorkbook.Worksheets
       For Each pt In wS.PivotTables
           pt.RefreshTable
       Next pt
   Next wS
End Sub

[Ergänzung Rabe]
Aktualisierung aller PTs des Tabellenblattes bei Änderungen im Bereich A2 bis K12:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Bereich1 As Range
  Dim pt As PivotTable
 
  Set Bereich1 = Range("A2:K12")
  If Not Intersect(Target, Bereich1) Is Nothing Then
     For Each pt In ActiveSheet.PivotTables
        pt.RefreshTable
     Next pt
  End If
End Sub
Gruß
Peter
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste