AW: Versteh ich nicht :(((
18.02.2010 11:51:06
fcs
Hallo Florian,
im Prinzip hast du die Vorgehensweise verstanden.
Du erstellst eine Arbeitsmappe mit einem leeren Tabellenblatt.
Diese enthält unter "DieseArbeitsmappe" die Prozedur, die nach Aktualisierung einer Pivottabelle in einem Tabellenblatt ausgeführt werden soll. Ob du diese Datei als "normale" Exceldatei (XLS) oder Mustervorlage (XLT) anlegst ist im Prinzip egal.
Die Verknüpfungen werden in der Prozedur dabei durch die Objektvariablen, die Case-Anweisungen und die Namen der Seitenfelder hergestellt.
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
'Synchronisieren bestimmter Seitenfelder von Pivottabellen auf einem Tabellenblatt
Dim pvPT As PivotTable, pvField As PivotField, sWert As String, sField As String
Application.EnableEvents = False
Select Case Sh.Name
Case "Daten", "Tabelle2" 'Tabellennamen der Blätter ohne Pivot-Tabellen, bzw. deren Pivot- _
Tabs _
nicht synchronisiert werden sollen
Case Else
'Seitenfelder der Pivot-Tabellen im aktiven Tabellenblatt synchronisieren
For Each pvPT In Sh.PivotTables
Select Case pvPT.Name
Case Target.Name 'Namen der Pivot-Tabs, die nicht mit synchronisiert werden sollen
'do nothing
Case Else
sField = "Region"
sWert = Target.PageFields(sField).CurrentPage.Name
pvPT.PageFields(sField).CurrentPage = sWert
sField = "Standort"
sWert = Target.PageFields(sField).CurrentPage.Name
pvPT.PageFields(sField).CurrentPage = sWert
End Select
Next
End Select
Application.EnableEvents = True
End Sub
Die Objekt-Variable "Sh" steht für das aktive Blatt in dem eine Pivot-Tabelle aktualisiert wurde.
Die Objekt-Variable "Target" steht für die Pivot-Tabelle, die aktualisiert wurde.
Mit den Case-Anweisungen wird dann gesteuert, was in welchen Tabellenblättern passieren soll.
Hier werden die Tabellen "Daten" und "Tabelle2" ohne weitere Aktionen übersprungen.
In allen anderen Tabellenblättern werden in der For-Schleife die Einstellungen für die Seitenfelder "Region" und "Standort" in allen Pivottabellen auf dem aktiven Blatt an die Einstellung der soeben geänderten Pivot-Tabelle angepasst.
Die Namen der Tabellen und Seitenfelder muss du natürlich an die Namen in der von deiner Steuerdatei erzeugten Datei anpassen.
Gruß
Franz