20.12.2016, 16:13 (Dieser Beitrag wurde zuletzt bearbeitet: 20.12.2016, 16:13 von Rabe.)
Hi,
(19.12.2016, 20:13)JimmyJoe schrieb: hi, das mit Pivot ist mir eigentlich zu umständlich. Geplant ist "Knopf drücken" ( Makro ) und fertig ist die Formatierung
die Pivot erstellst Du ein Mal und dann mußt Du bei Erweiterung der Datenbasis (es werden doch vermutlich immer mehr Analysen dazu kommen) nur noch auf den Knopf "aktualisieren " drücken. Und wenn Du ein Makro hinter das Pivot-Blatt legst, dann wird bei Aktivierung des Blatts die Pivot automatisch aktualisiert und Du mußt gar nix mehr drücken.
hinter das Blatt:
Code:
Private Sub Worksheet_Activate() Call Pivot_aktualisieren End Sub
als allgemeines Modul:
Code:
Sub Pivot_aktualisieren() ' ' Pivot_aktualisieren: alle Pivot einer einzelnen Tabelle ' (c) 21.09.2011, Ralf ' Aufgerufen mit Worksheet_Activate() im betreffenden Tabellenblatt ' Dim pt As PivotTable '
'Alle Pivot-Tabellen eines Tabellenblattes durchlaufen For Each pt In ActiveSheet.PivotTables
'Den PivotCache der PT aktualisieren pt.PivotCache.Refresh Next pt End Sub
Hier ist nochmal der komplette Code als Makro2- Ich habe noch den Blattnamen hinzugefügt. Dadurch ist es egal, welches der beiden Blätter gerade aktiv ist. Der Code füllt aber, wie gesagt, erst mal nur die 4 Zellen in Spalte E.
Code:
Sub Makro2() 'Variablendeklaration 'Integer Dim iCnt% 'Schleife ueber E2 bis E5 For iCnt = 2 To 5 'Daten berechnen und in E eintragen Sheets("auf Format gebracht").Range("E" & iCnt).Value = Application.Evaluate( _ "=SUMPRODUCT((Eingangsdaten!$B$2:$B$17=$A" & iCnt & ")*(Eingangsdaten!$A$2:$A$17=RIGHT(E$1,3)),Eingangsdaten!$F$2:$F$17)") 'Ende Schleife ueber E2 bis E5 Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)