Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot .. aktualisieren mit Makro

Forumthread: Pivot .. aktualisieren mit Makro

Pivot .. aktualisieren mit Makro
30.04.2024 08:19:44
Mike
Guten Morgen zusammen,

ich habe in einer Datei viele Kundendaten, die monatlich ein Update erhalten. Nun wäre es praktisch, wenn nach der Eingabe des aktuellen Monats in Zelle D2 (bei -- alle --) mit einem Makro die einzelnen Kundenpivots (bei -- 1000 --, -- 1200 -- etc. .. später kommen noch weitere dazu) auch auf den neuen Monat aktualisiert werden könnten.

Das Tüpfelchen auf dem i wäre es, wenn mit einem zweiten Makro alle Monate aktualisiert wären.

https://www.herber.de/bbs/user/169157.xls

Herzlichen Dank für Eure Hilfe,

LG,
Mike
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot .. aktualisieren mit Makro
30.04.2024 09:15:54
schauan
Hallöchen,

den Code zum Aktualisieren kann man mit dem Makrorekorder aufzeichnen :-)
AW: Pivot .. aktualisieren mit Makro
30.04.2024 09:18:42
Mike
Lieber schauan,

danke für Deine Nachricht. Ich versuche möglichst alles mit dem Makrorekorder zu erledigen, doch hier bin ich leider gescheitert. Speziell auch, weil ja nicht nur ein Blatt ein Update benötigt, sondern eben alle folgenden.

LG
Mike
Anzeige
AW: Pivot .. aktualisieren mit Makro
30.04.2024 09:41:04
schauan
Hallöchen,

also, Excel erzeugt mir das für eine einzelne und alle ... :

Sub Makro1()

'
' Makro1 Makro
'

'
ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh
ActiveWorkbook.RefreshAll
End Sub

Anzeige
AW: Pivot .. aktualisieren mit Makro
30.04.2024 10:17:25
Mike
Lieber schauan,

das sind zwei super Aktualisierungsroutinen, doch wird (noch) nicht der Wert in Zelle D2 abgefragt, um die Pivots eben auf den richtigen Monat einzustellen,

LG,
Mike
AW: Pivot .. aktualisieren mit Makro
30.04.2024 11:42:38
schauan
Hallöchen,
Eine Frage zum Verständnis - ich hatte ja vermutet, dass Du aktualisieren willst - oder willst Du anhand D2 den Filter setzen?
Eventuell geht das auch einfach mit einem Datenschnitt.
Wenn Du auf eine Eingabe reagieren willst, gibt's das Change - Ereignis.
Zum Programmieren wäre auch die Kenntnis der Pivots und Blätter nicht ganz ohne. Zeig doch mal die Datei...
Anzeige
AW: Pivot .. aktualisieren mit Makro
30.04.2024 12:01:05
Mike
Hallo schauan,

die Datei ist im ersten Beitrag hochgeladen / verlinkt. Es geht nicht um eine Sofort-ReagierAktion sondern:

' - bei -- alle -- D2 den neuen Monat angeben, von 2 auf 3
' - Makro "Monat" ausführen (Aktualisierung aller Pivots aufgrund Wert D2)

später möglich
' - Makro "alle" ausführen (Aktualisierung aller Pivots, alle Monate sind gewählt)

LG,
Mike
Anzeige
AW: Pivot .. aktualisieren mit Makro
30.04.2024 12:20:55
schauan
Schaue ich mir heute Nachmittag an, bin derzeit nur am Handy...
AW: Pivot .. aktualisieren mit Makro
30.04.2024 15:12:21
schauan
Hallöchen,

hier mal der Code für alle.

Sub PivotEinstellen()

'Variablen
Dim objPt As PivotTable, objWs As Worksheet
'Adresse der Monatseingabe
Const strFiAddr As String = "D2"
'Schleife ueber alle Bkaetter
For Each objWs In ActiveWorkbook.Worksheets
'Schleife ueber alle Pivots des Blattes
For Each objPt In objWs.PivotTables
'mit der Pivot
With objPt.PivotFields("Monat")
'Filter Monat loeschen
.ClearAllFilters
'Filter anhand Zelleintrag sezen
.CurrentPage = objWs.Range(strFiAddr).Value
'Ende mit der Pivot
End With
'Ende Schleife ueber alle Pivots des Blattes
Next
'Ende Schleife ueber alle Bkaetter
Next
End Sub


Für eine einzelne Tabelle bin ich zu ANfang wieder beim Aufzeichnen:

Sub Makro1()

'
' Makro1 Makro
'

'
ActiveSheet.PivotTables("PivotTable2").PivotFields("Monat").ClearAllFilters
ActiveSheet.PivotTables("PivotTable2").PivotFields("Monat").CurrentPage = "2"
End Sub


Die "2" müsstest Du dann durch den Bereich ersetzen und in diesem Makro den Namen der Pivot anpassen.
Wenn Du das für das Blatt "alle" machst, dann ist das sicher die einfachste Variante.

Man kann die Makros per Button starten oder durch das Worksheet_Change auslösen - was wäre Dir lieber?

Anzeige
AW: Pivot .. aktualisieren mit Makro
30.04.2024 16:35:28
Mike
Hallo schauan,

danke für den -- alle -- Code. Pro Blatt hat es jeweils nur eine Pivot.

Die Lösung über Button ist ideal. So wäre es schön, wenn er gleich auf allen Detailblätter ( -- 1000, -- 1200 ..) der Arbeitsmappe die Pivots gemäss gewähltem Monat aktualisieren würde. Aber ich kann schlussendlich auch alle Detailblätter in der Routine ergänzen,

LG
Mike
Anzeige
AW: Pivot .. aktualisieren mit Makro
01.05.2024 12:58:37
Mike
.. gibt es "nur" die Möglichkeit mit manuellen Einträgen pro Detail-Seite im Makro das Update durchzufühen?
Oder könnte man generell sagen, alle Pivots in der Arbeitsmappe werden auf den neuen Monat gestellt?

LG
Mike
AW: Pivot .. aktualisieren mit Makro
02.05.2024 20:05:26
schauan
Hallöchen,

also, Du meinst, dass mein erstes Makro mit dem Monatseintrag vom Blatt "alle" alle Pivots ändert?

Dort im Code hast Du die Zeile
.CurrentPage = objWs.Range(strFiAddr).Value

objWs ist das Blatt, wo die Aktualisierung stattfindet. Wenn Du den Wert aus dem Blatt "alle" für alle willst, dann so:
.CurrentPage = Sheets("alle").Range(strFiAddr).Value

... wobei man den "Monatswert" auch einmal vor der Schleife holen und dann verwenden kann ...





Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige