Method 'SeriesCollection' of object 'Chart' failed
André
der "Method 'SeriesCollection' of object '_Chart' failed" Fehler tritt in folgender Zeile auf, wenn ich für Anfang = InputBox einen Wert größer 2 wähle.
ActiveChart.SeriesCollection(i).Values = "=(Tabelle1!R" & i & "C13,Tabelle1!R" & i & "C15,Tabelle1!R" & i & "C17,Tabelle1!R" & i & "C19,Tabelle1!R" & i & "C21)"
Wie könnte ich das sauber beheben? Bisher lösche ich abhängig vom Anfangs-Input die nicht benötigten Zeilen weg, so dass der Anfang immer bei 1 liegt. Ist aber eine sehr unschöne Lösung, vor allem, wenn man das Skript mehrmals hintereinander ausführen möchte.
Rows(1 & ":" & 1000).Copy Worksheets("Tabelle2").Rows(1 & ":" & 1000)
For AnAnfangSchieben = 1 To Anfang - 1
Rows(1).Delete Shift:=xlUp
Next
Hat jemand einen Tipp, wie ich den Fehler sinnvoller umgehen könnte?Grüße,
André
Sub createchart()
Dim Ende As Integer
Dim i As Integer
Dim Anfang As Integer
Worksheets("Tabelle1").Activate
Anfang = InputBox("Ab welcher Zeile soll die Auswertung beginnen?", "Zahl eingeben")
Ende = InputBox("Letzte auszuwertende Zeile?", "Zahl eingeben")
Charts.Add
ActiveChart.ChartType = xlLineMarkers
For i = Anfang To Ende
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(i).Values = "=(Tabelle1!R" & i & "C13,Tabelle1!R" & i & "C15, _
Tabelle1!R" & i & "C17,Tabelle1!R" & i & "C19,Tabelle1!R" & i & "C21)"
ActiveChart.SeriesCollection(i).Name = "=Tabelle1!R" & i & "C1"
Next i
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Reinraumpartikel"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Partikelgröße"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Anzahl"
End With
End Sub