Diagramme positionieren
24.04.2020 15:22:05
Daniel
ich habe ein VBA-Skript, dass aus einer größeren Datenmenge automatisiert mehrere Diagramme erstellt.
Im Voraus ist nicht bekannt wie viele Diagramme erstellt werden.
Bei den Daten handelt es sich um Input-Spalten und Output-Spalten mehrerer Berechnungen.
Ich Plotte jede Outputgröße über jeder Input-Größe. Bei 4 Inputspalten und 2 Outputspalten entstehen somit 8 Diagramme.
Aktuell liegen die Diagramme alle übereinander. Wie ich diese Positionieren kann anhand von Zellen kann und auch Skalieren kann habe ich herausgefunden.
Was ich allerdings suche wäre eine Möglichkeit alle Diagramme jeweils in einer "Zeile" (nicht Excel-Zeile) aneinander zu positonieren, idealerweise schon bei ihrer Erstellung in einer Schleife (siehe unten). Dabei würde ich bei jedem neuen "i" eine neue "Zeile" anfangen wollen, jedes "j" dann von links nach rechts.
For i = (InputSpaltenanzahl + 1) To (InputSpaltenanzahl + ResultsSpaltenanzahl)
For j = 1 To InputSpaltenanzahl
ActiveSheet.Shapes.AddChart2(240, xlXYScatter).Select
ActiveChart.SeriesCollection.NewSeries
TitleString = Sheets("Results").Cells(1, i).Value & " over " & Sheets("Results").Cells(1, j).Value
ActiveChart.FullSeriesCollection(1).Name = TitleString
XValueString = "=Results!" & Sheets("Results").Cells(2, j).Address & ":" & Sheets("Results").Cells(ResultsZeilenanzahl, j).Address
ActiveChart.FullSeriesCollection(1).XValues = XValueString
YValueString = "=Results!" & Sheets("Results").Cells(2, i).Address & ":" & Sheets("Results").Cells(ResultsZeilenanzahl, i).Address
ActiveChart.FullSeriesCollection(1).Values = YValueString
With ActiveChart.Axes(xlCategory)
.HasTitle = True
.AxisTitle.Text = Sheets("Results").Cells(1, j).Value
End With
With ActiveChart.Axes(xlValue)
.HasTitle = True
.AxisTitle.Text = Sheets("Results").Cells(1, i).Value
End With
Next
Next
Geht sowas in VBA?
Viele Grüße und bereits im Voraus vielen Dank!!!