Mein Ziel ist es, eine Pivot-Tabelle anhand eines Bereichs in einem anderen Blatt zu filtern. In diesem Bereich werden Daten aus einem dritten Blatt abgerufen, bei dem es sich um den Daten-Dump handelt, der eine ganze Reihe von Formeln auslöst und bei jeder Verwendung geändert wird.Filtern einer Pivot-Tabelle basierend auf einem Variablenbereich
Ich habe den untenstehenden Code, aber was ich sehe es läuft durch jedes Pivot-Tabelle-Feld, vergleicht es mit dem Bereich, und dann den Filter entfernen. Ich habe 32.000 Felder, die überprüft werden müssen, damit das aktuelle Makro zu langsam zu verwenden ist.
Könnte mir jemand helfen, den Code so zu fixieren, dass er nur anhand von Werten im Bereich "Nicht leer" filtert?
Sub PT()
Dim PT As PivotTable
Dim PI As PivotItem
Set PT = Sheets("Pivot_Sheet").PivotTables("PivotTable2")
With Sheets("Pivot_Sheet").PivotTables("PivotTable2").PivotFields("Product")
.ClearAllFilters
End With
For Each PI In PT.PivotFields("Product").PivotItems
PI.Visible = WorksheetFunction.CountIf(Sheets("Sheet1").Range("J2:J100"),
PI.Name) > 0
Next PI
Set PT = Nothing
End Sub
Setzen Sie Ihren Code in Code-Tags bitte. – Sand
Entschuldigung, Code markiert. – NMO