Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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.

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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige