Ich richte eine Tabelle ein, um automatisch ein Diagramm aus mehreren Datensätzen zu generieren, die aus einer CSV-Datei übertragen werden. Diese Daten haben keine bestimmte Anzahl von Zeilen oder Spalten, aber der X-Achsenwert befindet sich immer in Spalte D. Ich möchte jede Spalte nach D für eine separate Reihe von Y-Achsenwerten mit einer Schleife verwenden, die endet, wenn es auf eine leere Spalte trifft. Ich möchte, dass sich mein Diagramm auf einem separaten Blatt mit der Bezeichnung "Diagramm" befindet, während sich meine Daten noch auf dem Blatt "Daten" befinden.
Ich habe versucht, Bereiche für die Verwendung mit einer indirekten Funktion zu erstellen, aber soweit mir bekannt ist, ist diese nicht mit der Funktion zum Erstellen von Grafiken kompatibel.
Sub Macro4()
ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmoothNoMarkers).Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).Name = "=Data!$E$1"
ActiveChart.FullSeriesCollection(1).XValues = "=Data!$D:$D"
ActiveChart.FullSeriesCollection(1).Values = "=Data!$E:$E"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(2).Name = "=Data!$F$1"
ActiveChart.FullSeriesCollection(2).XValues = "=Data!$D:$D"
ActiveChart.FullSeriesCollection(2).Values = "=Data!$F:$F"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(3).Name = "=Data!$G$1"
ActiveChart.FullSeriesCollection(3).XValues = "=Data!$D:$D"
ActiveChart.FullSeriesCollection(3).Values = "=Data!$G:$G"
End Sub
Ich möchte, dass es ein Ausgabediagramm wie dieses gibt, aber in einer Schleife, um die erste leere Spalte zu erkennen und bis zu diesem Punkt Datenreihen im Diagramm zu erstellen. Vielen Dank
Dies ist mit R1C1 recht einfach:
Sub Macro 4()
Dim i As Long, LCol As Long, c As Object, s As String
LCol = ActiveSheet.Cells(1, .Columns.Count).End(xlToLeft).Column
s = "=Data!$D:$D"
Set c = ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmoothNoMarkers).Chart
For i = 5 To LCol
With c.SeriesCollection.NewSeries
.Name = "=Data!$R1C" & i
.XValues = s
.Values = "=Data!$C" & i
End With
Next i
End Sub
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen