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

VBA Pivot Filter Variable

VBA Pivot Filter Variable
03.05.2016 11:52:21
Hendrik
Moin zusammen,
ich suche verzweifelt nach einer VBA-Lösung zum Anpassen eines Filters einer Pivot Tabelle. Ich habe ein Tabellenblatt(Tabelle2) mit einer Pivottabelle (Kostenart / Betrag) und als Filter die Kostenstellen. In einem zweiten Tabellenblatt stehen in einer Spalte die Kostenstellennummern, welche je nach Kostenstellenverantwortlichen aber in der Nummer und Anzahl variieren können.
Folgenden Code konnte ich schon entwickeln, wobei zum einen dies nur für eine Kostenstelle funktioniert und ich auch nur auf dem selben Tabelleblatt auf die Zelle F1 und nicht auf das andere Tabelleblatt verweisen kann.
Sub Filter_setzten()
Worksheets("Tabelle2").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Cost Cent").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Cost Cent"). _
CurrentPage = [F1].Value
End Sub

Vielen Dank im Voraus
Hendrik

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Pivot Filter Variable
09.05.2016 21:30:28
fcs
Hallo Hendrik,
für mehrere Kostenstellen kann man es wie folgt lösen, wenn die Filterwerte auf einem anderen Tabellenblatt stehen.
Gruß
Franz
Sub Pivot_FilterCostCent()
Dim pvTab As PivotTable, pvField As PivotField, pvItem As PivotItem
Dim varItem, Zeile As Long
Dim bolVisible As Boolean
Set pvTab = Worksheets("Tabelle2").PivotTables(1)
Set pvField = pvTab.PageFields("Cost Cent")
pvTab.RefreshTable
pvField.ClearAllFilters
pvField.EnableMultiplePageItems = True
'Seitenfeld-Items abarbeiten
For Each pvItem In pvField.PivotItems
bolVisible = False
With Worksheets("Tabelle1")
'Einträge in Spalte F (6) mit Item-Name vergleichen
For Zeile = 1 To .Cells(.Rows.Count, 6).End(xlUp).Row
varItem = .Cells(Zeile, 6).Value
If pvItem.Name = varItem Then
bolVisible = True
Exit For
End If
Next
End With
If bolVisible = False Then
pvItem.Visible = False
End If
Next
pvTab.Parent.Activate
End Sub

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige