Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1784to1788
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

Makro läuft nicht trotz Makrorekorder

Makro läuft nicht trotz Makrorekorder
15.10.2020 17:48:27
Andrea
Hallo zusammen,
ich möchte per VBA eine Pivottabelle filtern, und zwar sollen zunächst alle Filter gelöscht werden und dann nacheinander aber aufeinander aufbauend einige Werte abgewählt werden. Dazu habe ich für das Makro den Beschriftungsfilter gewählt, da der Makrorecorder das "Dem Filter die aktuelle Auswahl hinzufügen" wegen der Masse der Einträge nicht aufzeichnen kann. Zum einen sollen alle Werte, die "default" enthalten abgewählt werden, danach alle, die mit "NN " beginnen:
Sheets("RA-Einn.").PivotTables("PivotTable2").PivotFields( _
"[Mitarbeiter].[Mitarbeiter].[Mitarbeiter]").ClearAllFilters
Sheets("RA-Einn.").PivotTables("PivotTable2").PivotFields( _
"[Mitarbeiter].[Mitarbeiter].[Mitarbeiter]").PivotFilters.Add Type:= _
xlCaptionDoesNotContain, Value1:="default"
Sheets("RA-Einn.").PivotTables("PivotTable2").PivotFields( _
"[Mitarbeiter].[Mitarbeiter].[Mitarbeiter]").PivotFilters.Add Type:= _
xlCaptionDoesNotBeginWith, Value1:="NN "
Leider bricht das Makro beim dritten Schritt ab, da schon ein Beschriftungsfilter ausgewählt ist.
Hat einer einen Tipp, wie ich trotzdem zum gewünschten Ziel komme?
Vielen Dank für eure Hilfe.
VG Andrea

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

Betreff
Datum
Anwender
Anzeige
AW: Makro läuft nicht trotz Makrorekorder
15.10.2020 20:08:42
Yal
Hallo Andrea,
ja so ist es: pro PivotField nur einen Filter.
Zwei Alternative:
1. Eine Hilfespalte mit einem WENN, dass deine Bedingungen in Wahr/Falsch umsetzt, dann kannst Du die Spalte als Feld im Kopfbereich und Wahr (oder Falsch) filtern
2. Eine Filtersetzen pro Element, also testen und setzen:
Public Sub MeineFilter_setzen()
MultiBedingung _
PF:=Sheets("RA-Einn.").PivotTables("PivotTable2").PivotFields("[Mitarbeiter].[ _
Mitarbeiter].[Mitarbeiter]"), _
CapNotCont:="Default", _
CapBegWith:="NN"
End Sub
Private Sub MultiBedingung(PF As PivotField, Optional CapNotCont As String, Optional CapBegWith  _
As String)
Dim NichtZeigen As Boolean
PF.ClearAllFilters
For Each E In PF.PivotItems
Ausschluss = False 'Reset wegen For-Schleife
If Not IsMissing(CapNotCont) Then
If InStr(1, E.Caption, CapNotCont, vbTextCompare) > 0 Then NichtZeigen = True
End If
If Not IsMissing(CapBegWith) Then
If Left(E.Caption, 2) = CapBegWith Then NichtZeigen = True
End If
E.Visible = Not NichtZeigen
Next
End Sub
Viel Erfolg
Yal
Anzeige
AW: Makro läuft nicht trotz Makrorekorder
16.10.2020 11:20:26
Andrea
Hallo Yal,
vielen Dank, hat super geklappt!
VG Andrea

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige