Manchmal nervt es mich, dass ich auf mein gutes Aussehen, meine hohe Intelligenz und mein vieles Geld reduziert werde. Ich bin auch gut im Bett!
PlotArea – der Zeichnungsbereich eines Diagramms. Die Aufgabe: aus generierten Daten soll ein XY-Diagramm erzeugt werden. Nichts leichter als das:
' -- das Diagramm
Set xlChart = xlBlattDiagramm.ChartObjects.Add(500, 100, 800, 400)
Set xlDiagramm = xlChart.Chart
' -- XY-Diagramm
xlDiagramm.ChartType = xlXYScatter
With xlDiagramm
.SetSourceData Source:=xlBlattDiagramm.Range(xlBlattDiagramm.Range("B" & (intZeilenDiagramm + 2)), _
xlBlattDiagramm.Range("C" & intBereichsZeilen)) ' Range("'fin. Impact'!$B$8:$C$17") - Datenquelle
.SetElement msoElementDataLabelLeft ' -- Datenbeschriftung
.SetElement msoElementLegendNone ' -- keine Legende
.FullSeriesCollection(1).DataLabels.Format.TextFrame2.TextRange. _
InsertChartField msoChartFieldRange, "='" & strKategorie & "'!$A$" & (intZeilenDiagramm + 2) & ":$A$" & intBereichsZeilen & "", 0
' -- Beschriftung der Datenpunkte
.FullSeriesCollection(1).DataLabels.ShowValue = False
.FullSeriesCollection(1).DataLabels.ShowRange = True ' -- Werte anzeigen
.Axes(xlValue).TickLabelPosition = xlNone
' -- y-Achse ausblenden
Das Ergebnis:

Nun möchte ich noch die Zeichnungsfläche verschieben, damit man die Beschriftung der Y-Achse besser sehen kann. Obwohl sie einen Abstand von Links = 7 hat, darf ich diesen Wert nicht auf 100 setzen?!?

Nach vielem Probieren finde ich die Lösung:
.PlotArea.Width = .PlotArea.Width * 0.9
.PlotArea.Left = .PlotArea.Left + 100
Das klappt!

Ich verstehe es nicht.