Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

xlXYScatter mit mehreren Graphen aus Datenreihen

xlXYScatter mit mehreren Graphen aus Datenreihen
24.06.2013 15:21:06
Kapitän
Hallo Ihr!
ich habe eine Tabelle mit unterschiedlich vielen Blöcken an Datenreihen. In einem Block stehen jeweils 5Spalten mit unterschiedlich vielen Zeilen. Getrennt sind die Blöcke mit einer Leerspalte. Ich habe dann Diagramme (je nach Anzahl der Blöcke) erstellt. In diesen Diagrammen ist die jeweils 3.Spalte der x-Achsenwert und die 5. der y-Achsenwert.
Jetzt möchte ich alle Datenreihen in einem Diagramm darstellen. Dabei sind die x-Werte der einzelnen Blöcke unterschiedlich voneinander, sodass man nicht eine feste Spalte für die x-Werte hat, und die jeweiligen y-Werte nurnoch einträgt.
Weiß jemand, wie man den QCode modifizieren muss um alle Graphen (eher Punktwolken) in einem Diagramm darstellen zu können?
Sub charts()
Dim zeile, k, rngX As Range, rngY As Range
Dim wsDaten As Worksheet
Application.ScreenUpdating = False
Set wsDaten = Sheets(8) '("Input_Flutlinien")
wsDaten.Select
Range("A1").Select
For k = 1 To Cells(4, Columns.Count).End(xlToLeft).Column Step 6
With wsDaten
zeile = .Cells(.Rows.Count, k).End(xlUp).Row
Set rngX = .Range(.Cells(8, k + 2), .Cells(zeile, k + 2))
Set rngY = rngX.Offset(, 2)
With .Shapes.AddChart.Chart
.ChartType = xlXYScatter
.SeriesCollection.NewSeries
With .SeriesCollection(1)
.Values = rngY
.XValues = rngX
.name = wsDaten.Cells(4, k)
.Trendlines.Add Type:=xlMovingAvg, Period:=2, _
Forward:=0, Backward:=0, DisplayEquation:=True, DisplayRSquared:=True
End With
.Location Where:=xlLocationAsNewSheet, name:=wsDaten.Cells(4, k)
End With
End With
Next
End Sub

Hier mal eine Beispieldatei mit Makro.
https://www.herber.de/bbs/user/86001.xlsm
Viele Grüße
Kapitän

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

Betreff
Datum
Anwender
Anzeige
AW: xlXYScatter mit mehreren Graphen aus Datenreihen
24.06.2013 16:32:17
Beverly
Hi,
meinst du das so:
Sub charts_beispielmesswerte2()
Dim zeile, k, rngX As Range, rngY As Range
Dim wsDaten As Worksheet
Dim intSpalte As Integer
Application.ScreenUpdating = False
Set wsDaten = Sheets("Beispielmesswerte")
With wsDaten
intSpalte = .Cells(4, .Columns.Count).End(xlToLeft).Column
Application.Goto reference:=.Range("A1")
With .Shapes.AddChart.Chart
.ChartType = xlXYScatter
For k = 1 To intSpalte Step 6
zeile = wsDaten.Cells(wsDaten.Rows.Count, k).End(xlUp).Row
Set rngX = wsDaten.Range(wsDaten.Cells(8, k + 2), wsDaten.Cells(zeile, k + 2))
Set rngY = rngX.Offset(, 2)
With .SeriesCollection.NewSeries
.Values = rngY
.XValues = rngX
.Name = wsDaten.Cells(4, k)
.Trendlines.Add Type:=xlMovingAvg, Period:=2, _
Forward:=0, Backward:=0, DisplayEquation:=True, DisplayRSquared:=True
End With
Next
.Location Where:=xlLocationAsNewSheet
End With
End With
End Sub


Anzeige
AW: xlXYScatter mit mehreren Graphen aus Datenreihen
24.06.2013 18:35:35
Kapitän
Hi Beverly,
ja genau das mein ich! 1000 Dank! Kannst Du mir sagen wie ich die Daten manipulieren kann? Meine Daten sind in Metern gegeben, für die Darstellung würd ich aber gerne mit Milimetern arbeiten. Muss ich dafur wieder eine Schleife bauen und jeden Wert einzeln manipulieren?
Viele Grüße
Kapitän

AW: xlXYScatter mit mehreren Graphen aus Datenreihen
24.06.2013 18:42:52
Beverly
Hi,
naja, dann musst du die Werte umrechnen und das Diagramm auf diesen umgerechneten Werten aufbauen.


AW: xlXYScatter mit mehreren Graphen aus Datenreihen
24.06.2013 18:55:23
Kapitän
Hi,
würde die Werte in der Tabelle gerne in m belassen und nur das Diagramm in mm ausgeben. Leider lassen sich rngX und rngY nicht einfach *1000 nehmen;) Hast du eine Idee wie man das machen könnte? Ich vermute ja das es nicht geht, weil das Diagramm sich auf den Inhalt der Zellen bezieht. Oder sollte ich eher versuchen, die Werte Zeile für Zeile in ein Array zu schreiben und dabei zu manipulieren? Aber dann ändert sich ja auch wieder der ganze QCode für das Diagramm..
Viele Grüße
Tristan

Anzeige
AW: xlXYScatter mit mehreren Graphen aus Datenreihen
24.06.2013 19:46:03
Beverly
Hi Tristan,
der Code für das Diagramm würde sich nicht grundlegend ändern, wenn du die Werte in ein Array einliest und mit 1000 multiplizierst, allerdings musst du dabei bedenken, dass sich das Diagramm danach nicht mehr automatisch an die Werte anpasst, falls du diese veränderst, denn die Werte sind dann ja fix eingetragen und beziehen sich nicht mehr auf das Tabellenblatt. Es könnte durchaus auch sein, dass dies überhaupt nicht möglich ist, denn die Anzahl an Zeichen bei fix eingetragenen Werten darf 255 nicht überschreiten, wenn ich mich richtig erinnere.
Weshalb willst du nicht die freie Spalte zwischen den Datenpaketen für die Umrechnung benutzen und das Diagramm auf dieser Spalte aufbauen? Die Zellen kannst du ja auf Schriftfarbe Weiß formatieren, sodass die Zahlen nicht sichtbar sind.


Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige