Hallo,
kann man ein Makro über die Selektion von mehreren Pivottabellen in einer Tabelle kreieren? Und wenn ja, wie?
Bsp. mehrere Pivottabellen lassen die Selektion Monat zu. Ist es nun möglich mit „einer“ Eingabe alle Pivots auf einen bestimmten Monat einzustellen? Diese „eine“ Eingabe sollte aber VARIABEL sein.
Vorab schon vielen Dank für die Info!
LG
Bibi
ich hab sowas schon mal gemacht - ist aber länger her…
Im Prinzip kannst Du das meiste mit dem Makro Rekorder aufzeichnen…
Also einfach mal überall den gleichen Monat eingeben…
Dann musst Du nurnoch auslesen, welchen Monat Du einstellen willst und den Wert variabel ins Makro einbinden…
Erfordert natürlich ein wenig VBA Kenntnisse…
Einen fertigen Code wird man Dir hier vmtl nicht geben können.
Grüße
Munich
kann man ein Makro über die Selektion von mehreren
Pivottabellen in einer Tabelle kreieren? Und wenn ja, wie?
Bsp. mehrere Pivottabellen lassen die Selektion Monat zu. Ist
es nun möglich mit „einer“ Eingabe alle Pivots auf einen
bestimmten Monat einzustellen? Diese „eine“ Eingabe sollte
aber VARIABEL sein.
Hallo Bibi***.
zeichne mal ein makro auf während du da mit deinen PTs machst was du da willst und zeige hier den Code.
Vielleicht kann man den Code umstricken sodaß er variabel ist, auch ohne PT-Kenntnisse.
Gruß
Reinhard
Grüezi Bibi
kann man ein Makro über die Selektion von mehreren
Pivottabellen in einer Tabelle kreieren? Und wenn ja, wie?
Bsp. mehrere Pivottabellen lassen die Selektion Monat zu. Ist
es nun möglich mit „einer“ Eingabe alle Pivots auf einen
bestimmten Monat einzustellen? Diese „eine“ Eingabe sollte
aber VARIABEL sein.
Wenn die PTs alle im selben Tabellenblatt liegen und das Feld ‚Monat‘ im Seitenbereich abgelegt ist, dann kannst Du den folgenden VBA-Code vewenden, der dir die PTs gleich synchronisiert, wenn eine (egal welche) geändert wird:
Private Sub Worksheet\_PivotTableUpdate(ByVal Target As PivotTable)
Dim pt As PivotTable
Dim pf As PivotField
On Error GoTo ErrorHandler
Application.EnableEvents = False
For Each pt In Me.PivotTables
If pt.Name Target.Name Then
For Each pf In Target.PageFields
pt.PivotFields(pf.Value).CurrentPage = \_
Target.PivotFields(pf.Value).CurrentPage.Value
Next pf
End If
Next pt
ErrorHandler:
Application.EnableEvents = True
End Sub
–
Mit freundlichen Grüssen
Thomas Ramel
- MVP für MS-Excel -