Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1752to1756
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

Diagramme positionieren

Diagramme positionieren
24.04.2020 15:22:05
Daniel
Hallo,
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!!!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bitte Beispielmappe bereitstellen - o.T.
24.04.2020 16:31:28
Beverly


AW: Diagramme positionieren
27.04.2020 20:59:28
Barbara
Hi Daniel,
vielleicht hilft dieser Code. Er positioniert das erste Diagramm des aktiven Blatts genau in die markierten Zellen.
Sub Diagramm_auf_Markierung_schieben()
'Diagramm wird in markierten Bereich gesetzt
Dim rRahmen As Range
With ActiveSheet
Set rRahmen = Selection
With .ChartObjects(1)
.Top = rRahmen.Top
.Left = rRahmen.Left
.Width = rRahmen.Width
.Height = rRahmen.Height
End With
End With
End Sub

In Deiner Beispielmappe vom 24.04.2020 17:52:16 sehe ich keine Diagramme. Auch weiß ich nicht genau, was Du willst. Vielleicht trifft meine Antwort. Man kann ein Diagramm auch koordinativ positionieren. hab aber vergessen, wie.
LGB
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige