Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1920to1924
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 Filterung VBA

PIVOT Filterung VBA
24.02.2023 08:26:01
Sassi
Guten Morgen Zusammen,
ich hoffe, jemand kann mir weiterhelfen. Ich bin relativ neu im "VBA-Geschäft", konnte aber bisher immer alles gut lösen. Aber hier komme ich nicht weiter.
Ich habe eine Excel-Datei mit diversen Tabellenblättern (Datenbankabfragen + PIVOTs). 3 der enthaltenen PIVOTS möchte ich per VBA anhand eines Zellwerts filtern. Das funktioniert auch super mit dem von mir geschriebenen Code. Jedoch gibt es einen Fehler, wenn der Zellwert nicht in den PIVOTS gefunden wird. Mit
 On Error Resume Next 
komme ich nicht an das gewünschte Ziel.
Ziel ist: Wenn in einer der PIVOTS das Kriterium des Zellwerts nicht vorhanden ist, sollen alle "leeren" Daten angezeigt werden, oder einfach "nichts".
Hier mal mein bisheriger Code:
Sub Schaltfläche5_Klicken()
On Error Resume Next
Sheets("Pivot F2").Select
ActiveSheet.PivotTables("PivotTable5").PivotFields("Vertragsbeginn NEU").ClearAllFilters
ActiveSheet.PivotTables("PivotTable5").PivotFields("Vertragsbeginn NEU").CurrentPage = Sheets("ACHTUNG").Range("H9").Text
Sheets("Pivot F3+4").Select
ActiveSheet.PivotTables("PivotTable6").PivotFields("Tatsächliches Abschlussdatum NEU").ClearAllFilters
ActiveSheet.PivotTables("PivotTable6").PivotFields("Tatsächliches Abschlussdatum NEU").CurrentPage = Sheets("ACHTUNG").Range("H9").Text
Sheets("Pivot F12").Select
ActiveSheet.PivotTables("PivotTable13").PivotFields("Monat NEU").ClearAllFilters
ActiveSheet.PivotTables("PivotTable13").PivotFields("Monat NEU").CurrentPage = Sheets("ACHTUNG").Range("H9").Text
End Sub

Kann mir jemand helfen?
Viele Grüße
Sassi

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

Betreff
Datum
Anwender
Anzeige
AW: PIVOT Filterung VBA
24.02.2023 09:01:49
ChrisL
Hi
Zwei Varianten. Ganze Spalten ausblenden oder das Filterkriterium "leer" anwenden. Letzteres geht natürlich nur, wenn du "leer" hast.
On Error Resume Next
With Worksheets("Pivot F2")
    .Range("A:B").EntireColumn.Hidden = False
    .PivotTables("PivotTable5").PivotFields("Vertragsbeginn NEU").ClearAllFilters
    .PivotTables("PivotTable5").PivotFields("Vertragsbeginn NEU").CurrentPage = Sheets("ACHTUNG").Range("H9").Text
    If Err.Number > 0 Then .Range("A:B").EntireColumn.Hidden = True
    Err.Clear
End With
On Error Resume Next
With Worksheets("Pivot F2").PivotTables("PivotTable5").PivotFields("Vertragsbeginn NEU")
    .ClearAllFilters
    .CurrentPage = Sheets("ACHTUNG").Range("H9").Text
    If Err.Number > 0 Then .CurrentPage = "(blank)"
    Err.Clear
End With
cu
Chris
Anzeige
AW: PIVOT Filterung VBA
24.02.2023 10:00:43
Sassi
Danke Chris!!!
Die zweite Variante hat funktioniert:
On Error Resume Next
With Worksheets("Pivot F2").PivotTables("PivotTable5").PivotFields("Vertragsbeginn NEU")
    .ClearAllFilters
    .CurrentPage = Sheets("ACHTUNG").Range("H9").Text
    If Err.Number > 0 Then .CurrentPage = "(blank)"
    Err.Clear
End With
Bei der ersten Variante sind leider die PIVOTs dann komplett verschwunden und hätten dann im Zweifel immer wieder neu eingebunden werden müssen. Aber Variante 2 ist genau das, was ich benötige!

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige