Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pivottabelle automatisiert erstellen

Pivottabelle automatisiert erstellen
12.03.2017 11:20:39
Apophis
Hallöchen,
ich habe folgendes Problem:
Ich bekomme monatlich eine Tabelle mit Kosten. Ich möchte diese sortieren und kategorisieren. Das hat auch wunderbar funktioniert mit meinem Makro.
Anschließen würde ich aber gerne automatische eine Pivot Tabelle erstellen.
Ich habe es versuch mit dem Macrorecorder, leider kann ich dieses Makro nicht nochmal ausführen, wahrscheinlich weil die Tabelle bereits erstellt wurde.
Nun meine erste Frage:
Wie könnte ich das Makro anpassen, dass immer eine neue Tabelle erstellt wird?
Außerdem ist diese Tabelle nicht immer gleich "positioniert", d.h. manchmal befindet sich die erste Zeile der Tabelle in Zeile 3 oder auch mal 5. Die Range ist also immer unterschiedlich.
Hat jemand zufällig eine Idee und kann mir weiterhelfen?
Liebe Grüße,
Apophis
Die besagte Stelle meines Makros sieht folgendermaßen aus:
Cells(3, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Sheets.Add
' ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
' "IT Customer Report World!R3C1:R2458C37", Version:=xlPivotTableVersion12). _
' CreatePivotTable TableDestination:="Tabelle9!R3C1", TableName:= _
' "PivotTable1", DefaultVersion:=xlPivotTableVersion12
Wobei die auskommentierten Zeilen die sind, die bei der Fehlermeldung hervorgehoben werden.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pivottabelle automatisiert erstellen
12.03.2017 22:41:00
fcs
Hallo Apophis,
etwas so sollte es funktionieren,
Sub test()
Dim strActiveSheet As String
Dim rngSelection As Range
Dim pvTab As PivotTable
Cells(3, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Set rngSelection = Selection
strActiveSheet = ActiveSheet.Name
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"'" & strActiveSheet & "'!" & rngSelection.Address(True, True, xlR1C1), _
Version:=xlPivotTableVersion12). _
CreatePivotTable TableDestination:="'" & ActiveSheet.Name & "'!R3C1", _
TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion12
Cells(3, 1).Select
Set pvTab = ActiveSheet.PivotTables(1)
End Sub

pvTab kannst du dann im weiteren Code verwenden statt "ActiveSheet.PivotTables("PivotTable1")"
Gruß
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige