ich habe ein Makro, dass die Berichtsfilter verschiedener Pivottabellen synchronisiert. Das funktioniert soweit auch sehr gut, allerdings wird ein Pivot Chart zurückgesetzt. Soll heißen, wenn ich vorher eine Sekundärachse und sowohl ein Balken als auch ein Liniendiagramm in diesem Chart hatte, so wird alles zurückgesetzt und ich erhalte ein Chart ohne Sekundärachse und alles als Balkendiagramm dargestellt.
Erkennt jemand, woran das liegen kann und ob man dies leicht ändern kann?
Vielen Dank für die Hilfe.
Hier der Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Exit Sub
If ((Target.Row = 3) And (Target.Column = 1)) Then prcSynchronizeMe
End Sub
Sub prcSynchronizeMe()Dim pgfPageField(1 To 3) As Object
Dim lngPGFPosition(1 To 3) As Long
Dim varEnableEvents As Variant
Dim i As Long
varEnableEvents = Application.EnableEvents
Application.EnableEvents = False
On Error Resume Next
Set pgfPageField(1) = Me.PivotTables(1).PageFields("Kalenderwochen")
lngPGFPosition(1) = pgfPageField(1).Position
Set pgfPageField(2) = Me.PivotTables(1).PageFields("Kunde Leistungsort")
lngPGFPosition(2) = pgfPageField(2).Position
Set pgfPageField(3) = Me.PivotTables(1).PageFields("Kunden Nr.")
lngPGFPosition(3) = pgfPageField(3).Position
'Synchronisieren von KW mit Kalenderwoche
'Me.PivotTables(1).PivotFields("KW").CurrentPage = "(All)"
With Me.PivotTables(1).PivotFields("KW")
For i = 1 To .PivotItems.Count
.PivotItems(i).Visible = True
Next i
End With
pgfPageField(1).Orientation = xlColumnField 'Umdefinieren PageField 'Kalenderwochen' wg. Excel2003-bug
For i = 1 To Me.PivotTables(1).PivotFields("Kalenderwochen").PivotItems.Count
Err.Clear
'If Me.PivotTables(1).PivotFields("Kalenderwochen").PivotItems(i).Visible = False Then Me.PivotTables(1).PivotFields("KW").PivotItems(Me.PivotTables(1).PivotFields("Kalenderwochen").PivotItems(i).Value).Visible = False
If Me.PivotTables(1).PivotFields("Kalenderwochen").PivotItems(i).Visible = False Then Me.PivotTables(1).PivotFields("KW").PivotItems(Me.PivotTables(1).PivotFields("Kalenderwochen").PivotItems(i).Name).Visible = False
Next i
'pgfPageField.Orientation = xlPageField 'Zurücksetzen PageField 'Kalenderwochen'
'Application.EnableEvents = False
For i = 1 To 3
pgfPageField(i).Orientation = xlPageField 'Zurücksetzen PageField 'Kalenderwochen'
pgfPageField(i).Position = lngPGFPosition(i)
Next i
'Application.EnableEvents = True
Application.EnableEvents = varEnableEvents
End Sub