Das Durchlaufen von Berichtsfiltern zum Ändern der Sichtbarkeit funktioniert nicht
Ich versuche, einen Berichtsfilter auszuwählen, in diesem Fall Kanada. Das heißt, der Rest muss unsichtbar gemacht werden. Dieser Code funktioniert ohne Probleme:
Public Sub FilterPivotTable()
With ActiveSheet.PivotTables("Epidemiology").PivotFields("COUNTRY")
.PivotItems("Canada").Visible = True
.PivotItems("USA").Visible = False
.PivotItems("Germany").Visible = False
.PivotItems("France").Visible = False
End With
End Sub
Ich versuche jedoch, mich darauf vorzubereiten, wann wir andere Länder zu unserer Pivot-Tabelle "Epidemiologie" hinzufügen, also habe ich versucht, eine for-Schleife zu haben. Dieser Code funktioniert nicht:
With ActiveSheet.PivotTables("Epidemiology").PivotFields("COUNTRY")
.PivotItems("Canada").Visible = True
For Each Pi In .PivotItems
If Pi.Value = "CANADA" Then
Pi.Visible = True
Else
Pi.Visible = False
End If
Next Pi
End With
Es gibt mir einen Fehler auf demPi.Visible = False
Linie. Der Fehler, den ich bekomme, istRun-time error '1004': Unable to set the Visible property of the PivotItem class
Warum funktioniert es nicht in einer for-Schleife ?!
Frustrierenderweise verwenden alle Beispiele, die ich online finde, eine ähnliche Syntax. (Einige verwenden einen Index, aber ich habe das versucht und den gleichen Fehler erhalten.)