ich möchte ein x,y-Diagramm aus den Zellen A5:A3005,C5:C3005 erstellen. Die Anzahl der Zeilen, die in diesem Bereich belegt sind, sind immer variabel. Es können also mal 200, mal 400 und bis max. zu 3000 Werte vorhanden sein.
Ich würde das Diagramm gerne von einem Makro erstellen lassen, bekomme es aber nicht so richtig hin. Habe etwas aufgezeichnet, aber 2 Probleme.
Zum einen bekomme ich bei wiederholter Ausführung den Laufzeitfehler 1004 "Anwendungs- oder objektdefinierter Fehler". Beim Debuggen wird als Fehlerzeile Folgendes angezeigt: "ActiveSheet.Shapes.AddChart.Select"
Mein Code sieht folgendermaßen aus:
Sub Diagramm()
' Diagramm Makro
Sheets("Diagramm").Select
Range("A5").Select
Range(Selection, Selection.End(xlDown)).Select
Range("A5:A3005,C5:C3005").Select
Range("C5").Activate
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Range( _
"Diagramm!$A$5:$A$3005;Diagramm!$C$5:$C$3005")
ActiveChart.Legend.Select
Selection.Delete
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
Selection.Caption = "Zeitintervall [s]"
Selection.Format.TextFrame2.TextRange.Font.Size = 12
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleRotated)
Selection.Caption = "Fehlmasse [mg]"
Selection.Format.TextFrame2.TextRange.Font.Size = 12
End Sub
Das andere Problem ist Folgendes:
Wie oben erwähnt, sind nicht alle Zeilen im Bereich von 5 bis 3005 belegt. Wenn ich alles einfach markiere, dann zerschießt sich die Acheneinteilung und es wird nonsens angezeigt. Deshalb soll das Makro bewirken, dass nur die Zellen, in denen auch wirklich was steht zur Erstellung des Diagramms herangezogen werden.
Ich verzweifle hier echt...
Vielen Dank für Hilfe und viele Grüße
Robin
Die Beispieldatei findet sich hier:
https://www.herber.de/bbs/user/87245.xlsm