Hallo,
ich verzweifel gerade an dem Versuch, dass alle Elemente in einer PivotTabelle zuerst ausgewählt werden sollen um nachher 3 von 4 Elementen zu deaktivieren.

Ich habe, nachdem ich gelesen habe, man sollte alles so genau wie möglich spezifizieren folgenden Code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    With ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR")
    If ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2007").Visible = False Then
        ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2007").Visible = True
    End If
        If ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2008").Visible = False Then
        ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2008").Visible = True
    End If
        If ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2009").Visible = False Then
        ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2009").Visible = True
    End If
        If ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2010").Visible = False Then
        ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2010").Visible = True
    End If
    End With

mySheet ist korrekt gefüllt und derzeit sind 2009 und 2010 aktiviert. Das Makro soll nun 2007 und 2008 aktivieren. Bei der ersten If-Schleife zu 2007 wird bei dem Versuch die Visible-Eigenschaft auf True zu setzen ein Fehler geworfen.

Code :
1
ActiveWorkbook.Sheets(mySheet).PivotTables("PivotTable1").PivotFields("YEAR").PivotItems("2007").Visible = True

Code :
1
2
3
Laufzeitfehler '1004'
 
Die Visible-Eigenschaft des Pivot-Objektes kann nicht festgelegt werden.
Aber woran liegt das? Hat jemand eine Idee? Ich habe das ganze auch einmal mit einer for-Schleife probiert, aber auch da bekomme ich immer wieder diesen Fehler.

Danke