Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Datenschnitt für PivotTabelle per Button
13.08.2020 13:35:22
Silas
Hallo Zusammen,
ich kenne VBA erst seit einer Woche und die Lösungsvorschläge durch meine Internetrecherche helfen auch nicht weiter.
Deswegen sieht der Code in meiner Beispieldatei wahrscheinlich ziemlich komisch aus.
Ich hoffe Ihr könnt mir weiterhelfen.
In meiner Liste soll per Button sich eine PivotTabelle erstellen, auf Basis von der dynamischen Tabelle "AlleRechnungen" (In diese Tabelle werden schon seit mehreren Jahren die Rechnungen eingetragen).
Das funktioniert soweit auch schon sehr gut.
Jetzt soll sich zusätzlich zu der PivotTabelle noch ein Datenschnitt öffnen.
Mein Problem: In dem Arbeitsblatt wird jedes Jahr eine neue PivotTabelle erstellt, mit einem jeweiligen Datenschnitt der alle Rechnungen aus dem jeweiligen Jahr filtert.
Wenn ich allerdings das durch mein Makro erstellen lassen möchte, wird ein Fehler gemeldet, da ja der SlicerCache schon einmal verwendet wurde.
Egal wie ich versuche das mit einer Variable o.ä. zu "verallgemeinern", dass es jedes Jahr aufs Neue wieder funktioniert, schaffe ich leider nicht.
Als Ansatz hier mein bisheriger Code-Ausschnitt:
'Datenschnitt für die PivotTabelle einfügen (mit Infobox), positionieren und fixieren
SlicerName = InputBox("Bitte geben Sie das Jahr für den neuen Datenschnitt ein.", "Jahr für den Datenschnitt")
ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables(pivotName), "Jahr"). _
Slicers.Add ActiveSheet, , (SlicerName), (SlicerName), 188.25, 639.75, 144, 198.75
ActiveSheet.Shapes.Range(Array(SlicerName)).Select
With ActiveSheet.Shapes(SlicerName)
.Height = 155.905511811
.Width = 77.9527559055
End With
ActiveSheet.Shapes(SlicerName).IncrementLeft 877.5
ActiveSheet.Shapes(SlicerName).IncrementTop -136.5
ActiveWorkbook.SlicerCaches("Datenschnitt_Jahr2").Slicers(SlicerName). _
DisableMoveResizeUI = True
ActiveSheet.Shapes(SlicerName).LockAspectRatio = msoTrue
Zur Datei: https://www.herber.de/bbs/user/139610.xlsm

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenschnitt für PivotTabelle per Button
14.08.2020 12:13:12
fcs
Hallo Silas,
mache dir das Leben einfacher und arbeite bei den Pivots für die einzelnen Jahre ohne Datenschnitt.
Füge im Pivot-Bericht im Bereich "Filter" zusätzlich das Feld "Jahr" ein. Da sich der Wert ja nicht ändert muss er nur einmalig auf das entsprechende Jahr gesetzt werden - damit das funktioniert muss mindestens eine Datenzeile für das Jahr in der Liste der Rechnungen vorhanden sein.
Ausserdem ist es zur Bedienung einfacher, wenn da +-Zeichen der Gliederung hier links von den Daten steht. Kann man über das Menue --%gtDaten--&gtGliederung einstellen.
Ich hab deine Tabelle und das Makro zum Erstellen des Pivot-Berichtes in diese Richtung angepasst und dabei dein Makro auch etwas aufgeräumt.
https://www.herber.de/bbs/user/139637.xlsm
LG
Franz
Anzeige
AW: Datenschnitt für PivotTabelle per Button
14.08.2020 13:30:42
Silas
Hi Franz,
deine Lösung ist tatsächlich viel einfacher.
Obwohl ich mit so einem Filter schon zu tun hatte, ist der mit wohl durchgegangen, weil ich mich zu sehr auf den Cache vom Datenschnitt konzentriert habe.
VIELEN VIELEN DANK für die Hilfe.
Ich wünsche alles Gute!
LG
Silas

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige