ich komme leider mal wieder nicht weiter :-(. Ich habe eine Tabelle mit Daten und Werten dazu in verschiedenen Spalten (Haushaltsbuch). Ich möchte mir nun über VBA ein Diagramm erstellen, dass jeweils nur einen bestimmten Datums-Bereich darstellt und auch nur ausgewählte Kategorien.
Sub Diagramm_erzeugen()
Dim objChartObject As ChartObject
'Diagramm erzeugen
Set objChartObject = ActiveSheet.ChartObjects.Add(10, 80, 500, 180)
objChartObject.name = "Diagrammname"
objChartObject.Chart.ChartType = xlXYScatterSmooth
For i = objChartObject.Chart.SeriesCollection.Count To 1 Step -1
objChartObject.Chart.SeriesCollection(i).Delete
Next
Dim myArray As Variant
Dim dateArray As Variant
'Einnahmen
c = 1
'zmin und zmax wurden vorher ermittelt, die Zeilen, die Beginn und Ende des darzustellenden _
_
Bereiches kennzeichnen
dateArray = Range(Cells(zmin, 1), Cells(zmax, 1))
For i = (Asc("E") - 64) To (Asc("L") - 64)
If Cells(3, i).Value = "x" Then 'nur die Spalten _
darstellen, wo in der 3. Zeile ein x steht
myName = Cells(2, i).Value
myArray = Range(Cells(zmin, i), Cells(zmax, i))
With objChartObject.Chart
.SeriesCollection.NewSeries
.SeriesCollection(c).name = myName
.SeriesCollection(c).XValues = dateArray 'Variant/Variant(1 To 24, 1 _
_
To 1)
.SeriesCollection(c).Values = myArray 'Variant/Variant(1 To 24, _
_
1 To 1)
End With
c = c + 1
End If
Next
End Sub
Wenn ich nun im Excel die Diagrammdaten (RMT -> Daten auswählen) anschaue, dann sind im X-Bereich auch die Daten wie im Array eingetragen. Bei den Y-Werten steht jedoch überall nur eine 0 drin, obwohl ich über das Lokalfenster im VBA sehe, dass dort die richtigen Werte drin stehen. Ich vermute, dass die Probleme auch dadurch kommen, dass ich ein 2-Dimensionales Array habe (1 To 24, 1 To 1). Dies wir bei der Erstellung aus der Range automatisch so erzeugt. Bekomt man das Array irgendwie auf ein eindimensionales Array reduziert? Oder sieht jemand woanders das Problem. So wird mir das Diagramm leider nur mit y=0-Werten angezeigt.
Viele Grüße