eingebettetes Diagramm mit array füttern
13.12.2005 14:56:56
Alex
Ich hab folgendes Problem: ich möchte mittels eines arrays ein XY Diagramm erzeugen, dieses Array füttere ich mit daten aus anderen Blättern , dass funktioniert alles super und ich schreibe dieses Array auch in mein gerade aktives Blatt, gleichzeitig möchte ich diese daten aber in einem Diagramm darstellen, was mit einfachen arrays funktioniert aber mit meinem dynamisch erstellten einfach nicht gelingen will.
es kommt immer ein laufzeitfehler 1004 dass die x-Value eigenschaft des Series objektes nicht festgelegt werden kann.
vielleicht kann mir ja wer weiter helfen, die daten wieder extra irgendwohinzuschreiben und dann erst das diagramm zu erzeugen kan ichnicht gebrauchen weil ich später das diagramm auch in meine userformen einbinden will ohne weitere zellen zu füllen.
ps der code ist mit ein paar überflüssigen berechnungen und typumwandlungen gespickt, aber was versucht man nicht alles in seiner not.
hier der code zum verständnis des problems, der Fehler tritt dann in den untersten zeilen beim Graph-erzeugen auf.
Private Sub Tabelleerzeugen()
Dim Zeilengesamt As Integer
Dim i
ActiveSheet.Columns(29).Delete
ActiveSheet.Columns(30).Delete
ActiveSheet.Columns(31).Delete
ActiveSheet.Columns(32).Delete
ActiveSheet.Columns(33).Delete
ActiveSheet.Cells(1, 29).Value = "t"
ActiveSheet.Cells(1, 30).Value = "s"
ActiveSheet.Cells(1, 31).Value = "v"
ActiveSheet.Cells(1, 32).Value = "a"
ActiveSheet.Cells(1, 33).Value = "r"
Zeilengesamt = 0
For n = 1 To Übergängegesamt
Zeilengesamt = Zeilengesamt + mat(n, Punkte)
Next n
ReDim taballt(Zeilengesamt - 1, 0)
ReDim taballs(Zeilengesamt - 1, 0)
ReDim taballv(Zeilengesamt - 1, 0)
ReDim taballa(Zeilengesamt - 1, 0)
ReDim taballr(Zeilengesamt - 1, 0)
j = 1
i = 0
For j = 1 To Übergängegesamt
k = 1
For k = 1 To mat(j, Punkte)
taballt(i, 0) = (Worksheets(mat(j, Bewgesetz)).Cells(k + 1, 14))
taballs(i, 0) = (Worksheets(mat(j, Bewgesetz)).Cells(k + 1, 16))
taballv(i, 0) = (Worksheets(mat(j, Bewgesetz)).Cells(k + 1, 17))
taballa(i, 0) = (Worksheets(mat(j, Bewgesetz)).Cells(k + 1, 18))
taballr(i, 0) = (Worksheets(mat(j, Bewgesetz)).Cells(k + 1, 19))
i = i + 1
Next k
i = i - 1
Next j
For i = 0 To Zeilengesamt - 1
ActiveSheet.Cells(i + 2, 29) = taballt(i, 0)
ActiveSheet.Cells(i + 2, 30) = taballs(i, 0)
ActiveSheet.Cells(i + 2, 31) = taballv(i, 0)
ActiveSheet.Cells(i + 2, 32) = taballa(i, 0)
ActiveSheet.Cells(i + 2, 33) = taballr(i, 0)
Next i
Dim objChartObject As ChartObject
Set objChartObject = ActiveSheet.ChartObjects.Add(10, 80, 500, 180)
With objChartObject
.Name = "Weg-Zeitdiagramm"
With .Chart
.ChartType = xlXYScatterSmooth
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = taballt
.SeriesCollection(1).Values = taballs
.Legend.Delete
End With
End With
End Sub