im folgenden Code kommt bei:
ActiveChart.SeriesCollection(1).Values = "=tabelle1!R3C11:R496C11"
der Laufzeitfehler 1004.
Wie kann man das verhindern? Getestet habe ich den Code an einer leeren Datei, liegt es daran? *kaum glaub*
ActiveChart.SeriesCollection(1).Name = "=""mittel15"""
habe ich überhaup nicht verstanden warum das so geschrieben ist, machte das der makrorekorder? auch da kommt Fehler 1004 wenn ich die Zeile davor auskommentiere.
Leider passiert das auch bei meiner Variante:
ActiveChart.SeriesCollection(1).Name = "mittel15"
Der Code stammt nicht von mir, ist aus einem anderen Forum wo jmd. an sich ein völlig andere Frage zu dem Code hat, deren Beantwortung ich mir durchaus selbst zutraue, es geht darum "K501" dynamisch zu gestalten .
Leider brachte seine Antwort auf meine Rückfrage für mich keinerlei Erkenntnisse ob der Code bei ihm überhaupt läuft, auf meinen Hinweis auf 1004 wurde nicht eingegangen *seufz*
Weiß bitteschön jemand hier wie man den Code überhaupt erstmal zum Laufen bringt? Dankeschön.
Ganz unten habe den kompletten Code gepostet, hier erstmal ein Codeschnipsel bis zur Fehlerstelle:
Option Explicit
'
Sub plot()
Dim a, i
Range("K501").Select
a = 90
For i = 1 To 2
Charts.Add
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
ActiveChart.SetSourceData Source:=Sheets("tabelle1").Range("K501")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=tabelle1!R3C1:R496C1"
ActiveChart.SeriesCollection(1).Values = "=tabelle1!R3C11:R496C11"
ActiveChart.SeriesCollection(1).Name = "=""mittel15"""
' weiterer Code
Next i
a = 0
End Sub
Gruß
Reinhard
Option Explicit
Sub plot()
Dim a, i
Range("K501").Select
a = 90
For i = 1 To 2
Charts.Add
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
ActiveChart.SetSourceData Source:=Sheets("tabelle1").Range("K501")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=tabelle1!R3C1:R496C1"
'ActiveChart.SeriesCollection(1).Values = "=tabelle1!R3C11:R496C11"
ActiveChart.SeriesCollection(1).Name = "=""mittel15"""
ActiveChart.SeriesCollection(2).XValues = "=tabelle1!R3C1:R496C1"
ActiveChart.SeriesCollection(2).Values = "=tabelle1!R3C12:R496C12"
ActiveChart.SeriesCollection(2).Name = "=""mittel25"""
ActiveChart.SeriesCollection(3).XValues = "=tabelle1!R3C1:R496C1"
ActiveChart.SeriesCollection(3).Values = "=tabelle1!R3C13:R496C13"
ActiveChart.SeriesCollection(3).Name = "=""mittel35"""
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "minus " & a & "° (außen)"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "f [Hz]"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "dB"
End With
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = True
.MaximumScale = 95000
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
With ActiveChart.Axes(xlCategory)
.MinimumScale = 0
.MaximumScale = 95000
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
With ActiveChart.Axes(xlValue)
.MinimumScale = -25
.MaximumScale = 15
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
Sheets("tabelle1").Select
ActiveCell.Offset(0, 12).Select
a = a - 10
Next i
a = 0
End Sub