PivotItems mittles VBA auswaehlen
10.09.2014 12:24:33
Nikolaus
Folgende Situation: Habe eine Pivot Tabelle, bei der ich mittels Makro bestimmte PivotItems gefiltert haben moechte (den Rest ausgeblendet).
Mittels eines Beitrags hier im Forum (https://www.herber.de/forum/archiv/1128to1132/1130707_PivotTabellen_und_VBA.html#1130917), habe ich etwas zusammengeschrieben. Es hakt aber bei dem Array
Sub PivotFilter()
Dim varCustomercodes As Variant
Dim pvTab As PivotTable
Dim pvField As PivotField
Dim pvItem As PivotItem
varCustomercodes = Array("NNPSG1", "NNPSG5")
Set pvField = Worksheets("Supplier").PivotTables("PivotTable222").PivotFields("Customer _
Modifier")
With pvField
.EnableMultiplePageItems = False
.ClearAllFilters
.EnableMultiplePageItems = True
For Each pvItem In .VisibleItems
If pvItem varCustomercodes Then
pvItem.Visible = False
End If
Next
.PivotItems(varCustomercodes).ShowDetail = True
End With
End Sub
Wenn ich einzigen "Customer Code" manuell auswaehle, dann klappt der Filter, aber eben nur einer. Auch hier weiss ich nicht weiter, wie ich 2 oder mehrere "Customer Codes" abgleichen kann.
Sub PivotFilter()
Dim varCustomercodes As Variant
Dim pvTab As PivotTable
Dim pvField As PivotField
Dim pvItem As PivotItem
varCustomercodes = Array("NNPSG1", "NNPSG5")
Set pvField = Worksheets("Supplier").PivotTables("PivotTable222").PivotFields("Customer _
Modifier")
With pvField
.EnableMultiplePageItems = False
.ClearAllFilters
.EnableMultiplePageItems = True
For Each pvItem In .VisibleItems
If pvItem "NNPSG1" Then
pvItem.Visible = False
End If
Next
.PivotItems("NNPSG1").ShowDetail = True
End With
End Sub
Kann mir jemand erklaeren, wie ich das Array abgleichen kann und dann auch noch nur die Codes des Array anzeigen lassen kann.Danke!