Hallo Mase!
Danke für die Hilfe.
Den Chart erstelle ich Manuell über eine Formvorlage und möchte mit dem Makro eigt. nur Datenreihen hinzufügen.
Der Code oben fügt ja nur die oben deklarierten x Werte in einen Graphen ein.
Ich möchte aber, dass das Makro die Werte aus einer anderen Worksheet über eine konstante Zeillänge übernimmt und als Datenreihe einfügt.
Anschließend soll das Makro in die nächste Zeile springen und das gleiche machen.
Ich hab mir das so vorgestellt, dass die For Schleife die Zeilen weiterzählt ^^
Im Moment wiederhole ich den Ausdruck für jede Zeile. Funktioniert zwar auch, ist aber blöd, wenn sich meine Spaltenanzahl ändert.
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(2).Name = "='Ebene 1 Teil 1'!$B$46"
ActiveChart.FullSeriesCollection(2).Values = "='Ebene 1 Teil 1'!$C$46:$JQ$46"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(3).Name = "='Ebene 1 Teil 1'!$B$47"
ActiveChart.FullSeriesCollection(3).Values = "='Ebene 1 Teil 1'!$C$47:$JQ$47"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(4).Name = "='Ebene 1 Teil 1'!$B$48"
ActiveChart.FullSeriesCollection(4).Values = "='Ebene 1 Teil 1'!$C$48:$JQ$48"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(5).Name = "='Ebene 1 Teil 1'!$B$49"
ActiveChart.FullSeriesCollection(5).Values = "='Ebene 1 Teil 1'!$C$49:$JQ$49"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(6).Name = "='Ebene 1 Teil 1'!$B$50"
ActiveChart.FullSeriesCollection(6).Values = "='Ebene 1 Teil 1'!$C$50:$JQ$50"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(7).Name = "='Ebene 1 Teil 1'!$B$51"
ActiveChart.FullSeriesCollection(7).Values = "='Ebene 1 Teil 1'!$C$51:$JQ$51"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(8).Name = "='Ebene 1 Teil 1'!$B$52"
ActiveChart.FullSeriesCollection(8).Values = "='Ebene 1 Teil 1'!$C$52:$JQ$52"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(9).Name = "='Ebene 1 Teil 1'!$B$53"
ActiveChart.FullSeriesCollection(9).Values = "='Ebene 1 Teil 1'!$C$53:$JQ$53"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(10).Name = "='Ebene 1 Teil 1'!$B$54"
ActiveChart.FullSeriesCollection(10).Values = "='Ebene 1 Teil 1'!$C$54:$JQ$54"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(11).Name = "='Ebene 1 Teil 1'!$B$55"
ActiveChart.FullSeriesCollection(11).Values = "='Ebene 1 Teil 1'!$C$55:$JQ$55"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(12).Name = "='Ebene 1 Teil 1'!$B$56"
ActiveChart.FullSeriesCollection(12).Values = "='Ebene 1 Teil 1'!$C$56:$JQ$56"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(13).Name = "='Ebene 1 Teil 1'!$B$57"
ActiveChart.FullSeriesCollection(13).Values = "='Ebene 1 Teil 1'!$C$57:$JQ$57"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(14).Name = "='Ebene 1 Teil 1'!$B$58"
ActiveChart.FullSeriesCollection(14).Values = "='Ebene 1 Teil 1'!$C$58:$JQ$58"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(15).Name = "='Ebene 1 Teil 1'!$B$59"
ActiveChart.FullSeriesCollection(15).Values = "='Ebene 1 Teil 1'!$C$59:$JQ$59"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(16).Name = "='Ebene 1 Teil 1'!$B$60"
ActiveChart.FullSeriesCollection(16).Values = "='Ebene 1 Teil 1'!$C$60:$JQ$60"
Ich möchte dieses weiterspringen, also sagen wir mal von Zeile 59 zu Zeile 60 automatisieren. Ich hab mir das ganze irgendwie so vorgestellt:
Sub Einbetten()
'
' Einbetten Makro
Dim startingRow As Long
Dim endingRow As Long
Dim i As Integer
startingRow = 46
endingRow = 114
ActiveChart.Axes(xlValue).MajorGridlines.Select
For i = startingRow To endingRow
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).Name = .Cells(i, 2)
ActiveChart.FullSeriesCollection(1).Values = Range(.Cells(i, 3), .Cells(i, 300))
Next i
End Sub
Ich hab bisher nur ein paar kleinere Skripte mit LabTalk für das Anpassen von Funktionen geschrieben. Irgendwie bin ich mit VBA überfordert.
Viele Grüße
Daniel
|