ich möchte gerne eine Pivot in einem neuen Arbeitsblatt (soll "Pivot Auswertung" heißen) über _ VBA erstellen lassen. Per Makrorecorder kam das hier bis jetzt heraus:
Sub Makro2()
' Makro2 Makro
ThisWorkbook.Worksheets.Add.Name = "Pivot Auswertung"
Sheets("Pivot Datenquelle").Select
Range("A1:E1741").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Pivot Datenquelle!R1C1:R1741C5", Version:=6).CreatePivotTable _
TableDestination:="Pivot Auswertung!R1C1", TableName:="PivotTable3", _
DefaultVersion:=6
Sheets("Pivot Auswertung").Select
Cells(1, 1).Select
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=Range("'Pivot Auswertung'!$A$1:$C$18")
End Sub
Nun habe ich allerdings 2 Probleme:
1. Ich kann das Ergebnis durch Ausführen des Makros nicht reproduzieren und habe keine Ahnung warum (Laufzeitfehler 5 mit Verweis aus den "ActiveWorkbook.PivotCaches.Create"-Part).
2. Meine Datenquelle variiert von Fall zu Fall bezüglich der letzten Zeile (Spalten sind immer 5). In meinem Beispiel geht es bis Zeile 1741, beim nächsten Mal könnte es sich aber um beispielsweise 2000 Zeilen oder mehr handeln. Wie kann ich die Range variabel angeben?
Ich bin für jeden Hinweis der zur Lösung führt dankbar.
Viele Grüße,
Tom
https://www.herber.de/bbs/user/136450.xlsm