Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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

Pivot Filter mit Zellwert

Pivot Filter mit Zellwert
25.09.2017 13:08:38
Olli
Hallo zusammen,
möchte einen Pivot Filter mit einem Zellwert setzen. Habe im Netz gesucht und folgendes gefunden, leider erhalte ich immer einen Laufzeitfehler 438.
Kann mir jemand helfen?

With Sheets("Data").PivotTables("PivotTable2").PivotFields("Country"). _
Sheets("Data") = [J1].Value
End With

Danke und viele Grüße
Olli

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivot Filter mit Zellwert
25.09.2017 14:05:39
Michael
Hallo!
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Data")
Dim p As PivotTable: Set p = Ws.PivotTables("PivotTable2")
Dim f As PivotField: Set f = p.PivotFields("Country")
Dim i As PivotItem, s$
s = Ws.Range("J1").Text
With f
For Each i In .PivotItems
If i.Name  s Then
i.Visible = False
Else:
i.Visible = True
End If
Next
End With
End Sub
Ob die Bezeichnung "Data", "PivotTable2" und "Country" stimmen, musst Du überprüfen.
LG
Michael
AW: Pivot Filter mit Zellwert
25.09.2017 15:05:04
Olli
Hallo Michael,
bekomme jetzt einen Laufzeitfehler 1004: Die PivotFields-Eigenschaft des PivotTables-Objektes kann nicht zugeordnet werden.
Markiert wird im Debugger diese Zeile
    Dim f As PivotField: Set f = p.PivotFields("Country")
Es gibt aber definitiv den Filter "Country" in meiner Pivot
Anzeige
AW: Pivot Filter mit Zellwert
25.09.2017 15:20:16
Michael
Hallo!
Wie heißt denn Deine PivotTabelle? Wirklich "PivotTable2"?
Ansonsten: Muster-Mappe hier hochladen (anoymisiert).
LG
Michael
AW: Pivot Filter mit Zellwert
25.09.2017 15:36:05
Olli
Hallo Michael,
doch, die heißt wirklich PivotTable2.
Hier die Datei: https://www.herber.de/bbs/user/116503.xlsm
Der Code ist hinter der ComboBox hinterlegt.
Danke und Gruß
AW: Pivot Filter mit Zellwert
25.09.2017 16:15:09
EtoPHG
Hallo Olli,
Das ist doch völliger Quatsch, dieser Umweg über die Zelle J1
Es genügt doch:
Private Sub ComboBox1_Change()
Worksheets("Data").Cells(1, 6).Value = Me.ComboBox1.Text
End Sub
Gruess Hansueli
Anzeige
AW: Pivot Filter mit Zellwert
25.09.2017 16:16:04
EtoPHG
Hallo Olli,
Das ist doch völliger Quatsch, dieser Umweg über die Zelle J1
Es genügt doch:
Private Sub ComboBox1_Change()
Worksheets("Data").Cells(1, 6).Value = Me.ComboBox1.Text
End Sub
Gruess Hansueli
AW: Pivot Filter mit Zellwert
25.09.2017 16:22:32
Olli
Oh man...manchmal ist die Antwort einfacher, als man denkt!
Wusste nicht, dass das geht.
Danke für die Hilfe!
AW: Pivot Filter mit Zellwert
25.09.2017 17:00:34
Olli
Nun hab ich aber doch nochmal eine Frage zu dieser Datei:

Die Datei https://www.herber.de/bbs/user/116505.xlsm wurde aus Datenschutzgründen gelöscht


Habe nun die ComboBox 1, die mir die Pivot filtert. Funktioniert.
Dieses Ergebnis hab ich nun wiederum mit einer Bereich.Verschieben Liste versehen (wie auch schon für die erste ComboBox).
Allerdings gibt mir die ComboBox2 nun alles doppelt und dreifach raus. Es sollen doch lediglich die gefilterten Werte aufgezeigt werden.
Vielleicht habe ich die Sache auch schon wieder viel zu kompliziert gemacht, aber habe keinen anderen Lösungsansatz als diesen gefunden.
Anderes Problem ist noch, wenn man den Filter der ComboBox1 auf Leer setzt, bekomme ich wieder einen Laufzeitfehler, weil man logischerweise nicht "" filtern kann. Gibt es eine Möglichkeit, dass bei Auswahl Leer wieder der Filter aufgehoben wird?
Danke und viele Grüße
Anzeige
AW: Pivot Filter mit Zellwert
26.09.2017 17:59:33
Luschi
Hallo Olli,
wenn man Namen definiert, wo über Formeln Zellenbereiche definiert werden, dann ist es besser, noch einen Namen zu definieren, der sich auf den Formelnamen bezieht; z.B:
DropdownCity: =BEREICH.VERSCHIEBEN(Data!$E$4;0;0;ANZAHL2(Data!$E:$E)-2)
DropdownCity_X: =DropdownCity
Wenn man jetzt den Namen 'DropdownCity_X' als Datenquelle für die Combobox benutzt, ist das Problem beseitigt.
Das gilt auch für Gültigkeitslisten, doch da bekommt man noch einen Hinweis, das etwas mit dem Namen nicht stimmt. warum das aber so ist, konnte ich noch nicht erfahren.
Natürlich kannst Du die Namensdefinitionen auch umdrehen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Pivot Filter mit Zellwert
27.09.2017 12:10:08
Olli
Hallo Luschi,
Habe ich gemacht, nur hat es nicht geholfen, was die Ergebnisse angeht.
Ich filter auf z.B. Argentina.
In Combo Box 2 werden nun 2 Ergebnisse angezeigt: Buenos Aires & Rosario. Soweit so gut, ist auch korrekt. Aber ich kann in dem Menü noch ewig weit runterscrollen und es kommt insgesamt noch 16 Mal der Eintrag Rosario. Immer im gleichen Abstand, dazwischen zig leere Zeilen.
Es funktioniert zwar trotzdem, nur soll diese Suche für eine große Anzahl an Usern bestimmt sein und sieht halt sehr unschön aus.
Wenn da also evtl noch jemand eine Idee hat, wäre ich sehr dankbar.
Ich konnte das Problem mit der leeren ComboBox übrigens selbst lösen.
On Error Resume Next
If ComboBox1.Value = "" Then
Worksheets("Data").Cells(1, 6).Value = "Alle"
End If
Nur die andere Problematik noch nicht.
Anzeige
AW: Pivot Filter mit Zellwert
27.09.2017 13:17:59
Olli
Hallo Luschi,
auch in dieser Datei besteht das Problem.
Mal angenommen wir filtern ComboBox1 auf Thailand. Dort haben wir 3 Ergebnisse. Läuft.
Wenn ich dann den Filter auf Brazil ändere, bekomme ich in ComboBox2 zwar brasilianische Städte, aber nur noch 3 Stück. Müssten eigentlich 9 sein.
Es ist so, als wenn die Anzahl der Ergebnisse immer von der allerersten Suche bestehen bleibt.
Verändere ich dann ComboBox1, habe ich in ComboBox2 entweder
- nicht alle Ergebnisse, da die Suche zuvor weniger Ergebnisse hatte
- viele leere Ergebnisse, da die Suche zuvor mehr Ergebnisse hatte.
Hoffe, das ist verständlich.
Anzeige
AW: Pivot Filter mit Zellwert
27.09.2017 15:43:40
Luschi
Hallo Olli,
korrigiere die folgenden Routine wie folgt ab, dann klappt's auch mit der korrekten Anzeige
von ComboBox2:

Private Sub ComboBox1_Change()
Worksheets("Data").Cells(1, 6).Value = Me.ComboBox1.Text
Me.ComboBox2.Value = ""
'hier lag der Hase im Pfeffer bzw. eben nicht!
Me.ComboBox2.ListFillRange = "DropdownCity_X"
End Sub
Gruß von Luschi
aus klein-Paris
AW: Pivot Filter mit Zellwert
27.09.2017 16:02:42
Olli
Yes!
Es funktioniert! Vielen, vielen Dank!
AW: Pivot Filter mit Zellwert
25.09.2017 15:53:50
Luschi
Hallo Olli,
richtige Hilfe zu Pivot-Tabellen kann man nur leisten, wenn der Fragesteller auch bereit ist, eine Demodatei hier reinzustellen, alles Andere ist einfach Kaffesatz-Leserei.
Inzwischen gibt es ja auch Zusatz-Programme wie PowerQuery & PowerPivot, die zwar von Microsoft kostenlos bereitgestellt werden, aber von den Usern/Firmen einfach ignoriert werden.
7 Jahre (seit MS-Office 2010) 'Power Business Intelligence' und es wird immer noch nach (uralten) und (a?sch)-langsamen Excel-Funktionalitäten wie:
SVerweis, Index, Aggregat, usw. nachgefragt ist einfach nur traurig, wenn es darum geht Daten, aus Fremd-Systemen auszuwerten.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Pivot Filter mit Zellwert
26.09.2017 09:49:30
Olli
Hallo Luschi,
habe doch meine Datei mit hochgeladen. Sogar jetzt noch ein zweites Mal.
Oder hat da irgendwas nicht funktioniert?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige