Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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
Inhaltsverzeichnis

Pivotfilter durch eine Zelle ändern lassen

Pivotfilter durch eine Zelle ändern lassen
23.04.2019 15:13:41
Rene
Hallo zusammen,
ich hatte bereits ein kleines Problem und dazu auch einen Beitrag erstellt. Diesen finde ich jetzt aber leider nicht mehr wieder bzw. ich kann ihn nicht mehr bearbeiten. Deswegen der neue Beitrag.
Kurz noch einmal zu meinem Problem:
Ich benötige für mein weiteres Arbeiten dringend eine Arbeitshilfe in Form einer automatisierten Filterung diverser PivotTables in einem Tabellenblatt. Dies soll durch einen Button geschehen, der per Betätigung die PivotTables filtert und zwar nach dem Inhalt in einer bestimmten Zelle.
Hier hatte mir Werner schon extrem geholfen und meine Musterdatei dahingehend bearbeitet (vielen Dank dafür noch einmal!):
https://www.herber.de/bbs/user/129220.xlsm
Es ist genau das, was ich brauche. Leider schaffe ich es nicht, diese Lösung auf meine Hauptdatei zu projizieren. Deshalb hab ich diese jetzt einmal so reduziert, dass ich sie hochladen kann. Ich habe euch die Datei auch hochgeladen:
https://www.herber.de/bbs/user/129334.xlsm
Was mache ich falsch? Was muss ich abändern, damit es funktioniert? Ich bin über jede Antwort dankbar!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivotfilter durch eine Zelle ändern lassen
23.04.2019 17:04:44
Luschi
Hallo Rene,
bei mir klappt das so:

Sub PivAendern()
Dim pt As Object
Application.ScreenUpdating = False
With Worksheets("Kennzahlenübersicht")
For Each pt In .PivotTables
With pt
'wichtig, damit nur 1 Item auswählbar ist!
.PivotFields("Zusatzfeld1").EnableMultiplePageItems = False
.PivotFields("Zusatzfeld1").CurrentPage = _
Worksheets("Kennzahlenübersicht").Range("M1").Value
.PivotCache.Refresh
End With
Next pt
End With
Application.ScreenUpdating = True
End Sub
Gruß von Luschi
aus klein-Paris
AW: Pivotfilter durch eine Zelle ändern lassen
24.04.2019 11:30:43
Rene
Hallo Luschi,
vielen lieben Dank für deine Anpassung! Das erste Mal passierte etwas in meiner Hauptdatei. Ich bin total begeistert, aber es gibt leider noch zwei Probleme. Das erste ist bestimmt total leicht zu lösen, bei dem anderen verzweifele ich jetzt schon.
1. Problem
Das ist wahrscheinlich hausgemacht, weil ich die entsprechende Information nicht mitgegeben habe. In dem zu filternden "Zusatzfeld1" steht noch mehr als nur der Name drin. Es ist ein offenes Textfeld. Dementsprechend darf er nicht genau nach dem Inhalt suchen, sondern er müsste quasi nach "enthält" den Inhalt in der Zelle M1 suchen.
2. Problem
Es funktioniert allgemein nicht "richtig" in meiner Masterdatei.
Ich bekomme immer wieder den Fehler:
"Laufzeitfehler '1004':
Die CurrentPage-Eigenschaft des Pivot-Field-Objektes kann nicht festgelegt werden."
Beim debuggen zeigt er mir dann folgendes an:
Userbild
Woran kann es noch liegen? Ich kann ja leider nicht meine Masterdatei hochladen :(. Könnte es daran liegen...
... dass er sich aufgrund des ersten Problemes mit dem "enthält" schwer tut?
... dass der zu suchende Zelleninhalt in "M1" teilweise mit Leerzeichen ist? Irgendwie habe ich das Gefühl, dass er sich da schwer tut? Bspw. steht in "M1" "Abschnitt 1".
... dass in der Arbeitsmappe noch viele andere Tabellenblätter gibt?
... dass in dem Tabellenblatt noch viele weitere PivotTables sind? Zur Info: In jeder PivotTable gibt es auch das zu filternde Feld "Zusatzfeld1". Es soll also auch wirklich jede Pivot gefiltert werden. Es ist nur teilweise anderes aufgebaut. Mal gibt es neben dem relevanten "Zusatzfeld1" vier andere Filter im Kopfbereich, mal auch nur zwei.
Ich bin für jeden Hinweis dankbar! Vielen Dank im Voraus. Ihr seid super!
Anzeige
AW: Pivotfilter durch eine Zelle ändern lassen
24.04.2019 12:09:07
Rene
Hab vergessen das Häkchen für "ungelöst" zu setzen.
AW: Pivotfilter durch eine Zelle ändern lassen
25.04.2019 07:05:59
Werner
Hallo Rene,
zu Problem 1:
Keine Ahnung ob das bei Pivot geht und wenn ja wie.
zu Problem2:
Funktioniert bei mir so:
Sub PivAendern()
Dim pt As Object
Application.ScreenUpdating = False
With Worksheets("Kennzahlenübersicht")
For Each pt In .PivotTables
With pt
.PivotFields("Zusatzfeld1").ClearAllFilters
.PivotFields("Zusatzfeld1").CurrentPage = _
Worksheets("Kennzahlenübersicht").Range("M1").Value
.PivotCache.Refresh
End With
Next pt
End With
End Sub
Gruß Werner
AW: Pivotfilter durch eine Zelle ändern lassen
25.04.2019 08:36:41
Luschi
Hallo Rene,
wer viel in den Ausgangsdaten der Pivottabelle ändert bzw. die Pivottabelle immer wieder umstrukturiert, der hat mit einem alten Kriegsleiden von Excel-Pivottabellen zu kämpfen:
- der PivotCache ist nicht mehr stimmig
- es sammeln sich Altdaten an, die längst aus den Ausgangsdaten getilgt wurden
So ist das auch schon in der von Dir bereitgestellten Demodatei:
- da gibt es noch die Einträge in Zusatzinfo1 wie: Berkane, Borschel, Dörr usw.
- obwohl sie in den Menüeinträgen nicht mehr angezeigt werden
- da gibt es auch Einträge, die aus mehreren 100 Zeichen bestehen, z.B.
  Das Risiko 0399 deckt sich mit Risiko 0536, weshalb dieses Risiko (0399) storniert wird...
Man muß also den PivotCache aller Pivottabellen in der Arbeitsmappe regelmäßig bereinigen. Dazu gibt es
die Vba-Routine 'DeleteOldPivotItemsWB' , die ich in 'Modul1' eingebaut habe.
Diese Routine baue in eine Kopie Deiner Original-Arbeitsmappe ein und lasse sie laufen.
Anschließend funktioniert dann auch 'Eintrag enthält Vorgabewert!' mit der neuen Routine 'PivAendern'.
https://www.herber.de/bbs/user/129376.xlsm
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Pivotfilter durch eine Zelle ändern lassen
25.04.2019 14:54:06
Rene
Hallo Luschi,
vielen Dank für deine Bemühungen!Ich bin total begeistert von den schnellen Antworten. Außerdem bin ich sehr überrascht, dass die von dir aufgezeigten Informationen in der Demodatei enthalten waren.
Die von dir bearbeitete Datei sieht total super aus. Genau so habe ich es mir vorgestellt. Leider funktionierte es am Anfang nicht in meiner Masterdatei. Es kam wieder ein Laufzeitfehler (ich war schon wieder total am verzweifeln). Ich bin dann noch einmal u.a. alle PivotTable durchgegangen und mir ist mein eigener Fehler aufgefallen. In zwei der PivotTable hieß das zu filternde Feld nicht "Zusatzfeld1" sondern "X Zusatzfeld1". An diesen beiden hat er sich dann wahrscheinlich auch aufgehalten. Ein dummer Flüchtigkeitsfehler von mir. Ich habe das Feld umbenannt und jetzt funktioniert alles wie geplant.
Ich bin total begeistert und bedanke mich vielmals für deine Hilfe!
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige