Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code mehrere Pivot gleich filtern

VBA Code mehrere Pivot gleich filtern
20.02.2018 10:21:09
Katrin
Guten Morgen,
ich habe einen Code um einen Berichtsfilter, den ich für eine Pivot auswähle auf eine zweite Pivot (PivotTable6) zu übertragen. Das Ausgabefeld des Berichtsfilters ist B35. Das funktioniert auch. Allerdings nur, wenn ich auf einen Namen filtere. Möchte ich wieder (Alle) filtern, funktioniert mein Code nicht.
Kann mir hier jemand weiterhelfen?
Hier noch der Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B35:B35")) Is Nothing Then Exit Sub
Dim pt As PivotTable
Dim Field As PivotField
Dim NewCat As String
Set pt = Worksheets("Tabelle1").PivotTables("PivotTable6")
Set Field = pt.PivotFields("Name")
NewCat = Worksheets("Tabelle1").Range("B35").Value
With pt
Field.ClearAllFilters
Field.CurrentPage = NewCat
pt.RefreshTable
End With
End Sub
Gruß

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code mehrere Pivot gleich filtern
22.02.2018 19:36:03
fcs
Hallo Katrin,
"(Alle)" ist kein gültiger Wert für ein cBerichtsfeld.
Hier musst du den Wert der Zelle B35 auf "(Alle)" prüfen und und ggf. den Filter für das Berichtsfeld zurücksetzen.
Gruß
Franz
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B35:B35")) Is Nothing Then Exit Sub
Dim pt As PivotTable
Dim Field As PivotField
Dim NewCat As String
Set pt = Worksheets("Tabelle1").PivotTables("PivotTable6")
Set Field = pt.PivotFields("Name")
NewCat = Worksheets("Tabelle1").Range("B35").Value
pt.RefreshTable
Select Case NewCat
Case "(Alle)", "(All)"
Field.ClearAllFilters
Case Else
Field.CurrentPage = NewCat
End Select
End Sub

Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige