Microsoft Excel

Herbers Excel/VBA-Archiv

Mit VBA Einzelwerte rausfiltern

Betrifft: Mit VBA Einzelwerte rausfiltern von: Andrea
Geschrieben am: 16.10.2020 16:42:57

Hallo,

ich habe in einer Pivot-Tabelle einen Berichtsfilter Mitarbeiter. Dort möchte ich grundsätzlich alle ausgewählt haben, bis auf die, die mit "LV " beginnen.

In Excel ist das unproblematisch. Da gebe ich in der Suchzeile des Berichtsfilters "LV " ein, wähle alle so bezeichneten Einträge ab und hake "Dem Filter die aktuelle Auswahl hinzufügen" an.

Mit VBA bekomme ich das nicht hin. Der Makrorecorder funktioniert hier nicht, da dabei alle Werte aufgelistet werden. Das sind i. d. R. zu viele, im Übrigen hilft das nix, wenn neue Elemente hinzugekommen sind.

Also wollte ich einen Beschriftungsfilter nutzen, wie ich ihn von Pivot-Feldern kenne. Habe aber leider feststellen müssen, dass es für Berichtsfilter gar keinen Beschriftungsfilter gibt :-(

Gibt es eine Lösung für mein Problem?

Den Mitarbeiter in die Zeilen- oder Spaltenbeschriftung zu nehmen und dann dort den Berichtsfilter anzuwenden wäre keine gute Lösung, da das die Tabelle zu unübersichtlich machen würde.

Vielen Dank und schöne Grüße

Andrea

Betrifft: AW: Mit VBA Einzelwerte rausfiltern
von: Daniel
Geschrieben am: 16.10.2020 16:49:29

Hi

Mit dem Pivot-Filtern kenne ich mich jetzt nicht so aus.
Im Autofilter kann man jedoch alternativ über die Filterung
Text - Benutzerdefinierte - beginnt nicht mit
Das gleiche Ergebnis erzielen.
Diese Filterung sollte sich auch mit dem Recorder aufzeichnen lassen.

Gruß Daniel

Betrifft: AW: Mit VBA Einzelwerte rausfiltern
von: Andrea
Geschrieben am: 16.10.2020 17:01:10

Hallo,

dazu müssten ja aber auch alle Mitarbeiter in der Tabelle aufgelistet werden, was ich ja gerade vermeiden will!

VG Andrea

Betrifft: AW: Mit VBA Einzelwerte rausfiltern
von: Daniel
Geschrieben am: 16.10.2020 17:18:11

Hi

klicke mal im DropDown-Menü des Pivot-Filters auf "Beschriftungsfilter - Beginnt nicht mit" und gib das "LV" ein.
Mein Recorder zeichnet das so auf:
ActiveSheet.PivotTables("PivotTable1").PivotFields("xxx").PivotFilters.Add2 Type:=xlCaptionDoesNotBeginWith, Value1:="LV"
Gruß Daniel

Betrifft: AW: Mit VBA Einzelwerte rausfiltern
von: Andrea
Geschrieben am: 16.10.2020 17:21:44

Ja, ich kenne den Beschriftungsfilter. Den gibt es aber leider nur, wenn das Feld Mitarbeiter in den Spalten oder Zeilen der Pivot-Tabelle steht, nicht aber, wenn der Mitarbeiter ein Berichtsfilter ist (also oberhalb der eigentlichen Pivot-Tabelle steht), wodurch die einzelnen Mitarbeiter eben nicht in der Tabelle aufgelistet werden.

VG Andrea

Betrifft: AW: Mit VBA Einzelwerte rausfiltern
von: Yal
Geschrieben am: 16.10.2020 17:27:46

Da kommst nicht drum: entweder Hilfespalte oder Einzelsetzen.
https://www.herber.de/forum/messages/1787692.html

(Verwendest Du tatsächlich eine Version "vor 2013"?")

VG Yal

Betrifft: AW: Mit VBA Einzelwerte rausfiltern
von: Daniel
Geschrieben am: 16.10.2020 17:31:54

Hi
kannst du mal die Beispieltabelle hochladen und ganz genau zeigen, was du meinst?

oder erstelle mal eine Liste mit vielleicht 4-5 Namen, davon einer der der mit LV anfängt und zeichne die Filterung auf.
wie sieht aufgezeichnete Code aus?

Gruß Daniel