Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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
Pivot Filter aus Zelle
18.08.2021 12:34:13
Hans
Hallo zusammen,
ich bin am verzweifeln, da ich so viele Seiten zu dem Thema gelesen und die Antworten ausprobiert habe, es aber einfach nicht klappt. Problem ist super simpel und für Euch bestimmt innerhalb von wenigen Minuten lösbar.
Ich arbeite mich in 1. Schritt durch den Datenschnitt aus der Pivot Tabelle , wobei jeder Wert einzeln ausgewählt wird.
Zelle D5 zieht per Formel den gefilterten Namen aus der Pivot und schneidet diesen passend ab.
Jetzt möchte ich, dass bei jeder Auswahl im Datenschnitt die Pivot Tabellen 2 und 3 den Wert aus D5 filtern
Hinweis: in Pivot Tabelle 2 heißt das Feld "ID Menge" und in Tabelle 3 heißt das Feld "IDohneBuchstaben"
Könntet Ihr mir bitte sagen, wie das in VBA programmiert werden kann? Es soll nur der ID Wert verändert werden, alle anderen Einstellungen sollen beibehalten werden
Hier die Beispielmappe:
https://www.herber.de/bbs/user/147683.xlsx
Vorab vielen Dank für Eure Zeit!
Ich habe den Vorschlag aus dem Forum versucht:
https://www.herber.de/forum/archiv/1080to1084/1080552_PivotFilter_ueber_Zellinhalt_steuern.html

Private Sub Worksheet_Change(ByVal Target As Range)
Call PivAendern
End Sub

Sub PivAendern()
With Sheets("PIVOT").PivotTables(1)
.PivotFields("Daten1").CurrentPage = Sheets("AUSW").[B1].Value
.PivotCache.Refresh
End With
End Sub
Hab Sheets Name, Zelle und PivotFilter Name angepasst und bei mir kommt die Fehlermeldung "Die CurrentPage Eigenschaft des Pivot Field-Objektes kann nicht festgelegt werden. "
Aus dem ExtendOffice Forum habe ich auch folgendes versucht:

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
On Error Resume Next
If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
Set xPFile = xPTable.PivotFields("Category")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
Application.ScreenUpdating = True
End Sub
->Da passiert bei mir gar nichts.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: es bedarf weder VBA noch Formel ...
18.08.2021 13:24:33
neopa
Hallo Hans,
... sondern lediglich PowerQuery (PQ). und dort erzeugst Du eine Hilfsabfrage für Deine 2. Datenliste und dann die eigentliche Auswertungsabfrage, wo Du die Daten beider Datenlisten über Deine Kennzahl (sind es denn wirklich immer genau 3 Ziffern? dann ist es ganz einfach) vereinst und diese in das Datenmodell abspeicherst. Dieses Datenmodell kannst Du danach über das ID aus der Datenliste und den zugeordneten Datenwerte mit Pivot wie gewohnt auswerten. Du solltest lediglich das Berichtslayout als Tabellenformat definieren.
Übrigens, die Spalte IDohneBuchstaben in der 2. Datenliste bedarf es in der ursprünglichen Liste dazu auch nicht, denn diese kann in PQ auch temporär ermittelt werden.
Gruß Werner
.. , - ...
Anzeige
AW: es bedarf weder VBA noch Formel ...
18.08.2021 14:35:34
Hans
Hallo Werner,
danke Dir für Deine Antwort. Hab jetzt lange geschaut, wie ich das umsetzen könnte, habe aber folgendes Problem: In der echten Datei ist es so, dass das eine Datenblatt bereits aus einer Vereinigung in Powerquery resultiert. Die Vereinigung prüft offene Aufträge mit Arbeitsplänen durch linken äußeren Join und zeigt mir in Pivot1 die Möglichkeiten an. Ein Teil der Daten wird also abgeschnitten->Diese benötigen ich aber noch für Pivot 2 und 3. Daher sehe ich PowerQuery in meinem Fall als problematisch an
Die verschiedenen IDs resultieren daher, dass ich verschiedene Datenquellen in dieser Excel zusammenführe. Hab schon viel Grips reingesteckt und alles funktioniert sehr gut, nur das Kopieren der Filter von 1 auf 2 und 3 nervt etwas, weswegen ich das gerne automatisieren würde. Könntest Du mir mit dem VBA Code helfen?
In der Beispielmappe wäre der Wunsch sinngemäß (bitte für falschen Code nicht steinigen)

Worksheets("Pivot").PivotTables("PivotTable2").PivotFields("IDMenge")=D5.value
Worksheets("Pivot").PivotTables("PivotTable3").PivotFields("IDohneBuchstaben")=D5.value
Die Pivot Tabellen würden also automatisch ohne Refresh als Filter für die jeweilige ID den Wert aus D5 übernehmen.
Viele Grüße
Hans
Anzeige
AW: aus Deiner Beispieldatei ...
18.08.2021 15:08:38
neopa
Hallo Hans,
... ist das Problem, von dem Du schreibst, für mich nicht ersichtlich und ich kann es mir auch nicht vorstellen, dass es solche geben könnte zumal Du ja auch schon mit PQ arbeitest.
Gruß Werner
.. , - ...

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige