Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

XY-Diagramm aus Arrays erstellen

XY-Diagramm aus Arrays erstellen
21.01.2020 23:01:43
stefan
Hallo,
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: XY-Diagramm aus Arrays erstellen
22.01.2020 10:18:21
Beverly
Hi,
nimm doch einfach 2 Arrays anstelle des zweidimensionalen.


AW: XY-Diagramm aus Arrays erstellen
22.01.2020 10:36:16
stefan
Ich weiß eben nicht wie ich das mache. Wenn ich das Array über die Range fülle, wird mir immer ein Array Variant/Variant(1 To 24, 1 To 1) erzeugt. Eigentlich ist es ja eindimensional, aber doch mit 2 Dimensionen... Ich bräuchte halt ein Array Variant (1 To 24).
Benutze Transpose(Bereich) - o.w.T.
22.01.2020 10:45:23
Beverly


AW: Benutze Transpose(Bereich) - o.w.T.
22.01.2020 11:21:38
stefan
Danke. Ich denke so müsste es funktionieren. Kann leider erst wieder heute abend an die Tabelle.
Scheint allerdings nur mit Application.Transpose(Range("A1:A9")) zu funktionieren.
Ich glaube mit Transpose hatte ich es gestern schonmal probiert und das Application davor nicht genutzt. Jetzt sieht es jedenfalls ganz gut aus.
Vielen Dank!
Anzeige
Das war auch nur...
22.01.2020 12:28:23
Beverly
...ein prinzipieller Hinweis, denn man kann Application.Transpose oder WorksheetFunction.Transpose verwenden.


305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige