Einstellung DatenLinie Chart
02.01.2023 14:55:24
Jörg
ich arbeite gerade an meinem ersten größeren (für mich) VBA-Projekt.
Das Projekt ist mehr oder weniger zusammengeklickt aus verschiedenen Tutorials.
Ich erstelle also ein in ein Arbeitsblatt eingefügtes Diagramm mit Standard-Aussehen:
'Diagramm erstellen
Set MeinDiagramm = Worksheets("Ausdruck").Shapes.AddChart2( _
Style:=227, _
XlChartType:=xlLine, _
Left:=847, _
Top:=216, _
Width:=157.5, _
Height:=90, _
Newlayout:=True).Chart
und möchte nun die einzelnen Linienelemente noch in Farbe und Form anpassen.
Die Anpassungen habe ich mit dem Makro_Recorder aufgezeichnet und in mein Programm übernommen.
Das hat alles soweit geklappt, aber bei einer FullSeriesCollection möchte ich gerne die Datenpunktmarkierungen mit anzeigen aber ohne Rahmen um die Datenpunkte.
Wenn ich das mit dem MakroRecorder einstelle, scheint das die gleiche Eigenschaft zu sein wie das Anzeigen der Datenverbindungslinie, jedenfalls wenn ich beide auf .visible = true oder false stelle, geht immer nur die Linie zwischen den Datenpunkten an oder aus, der Rahmen der Datenpunkte bleibt jedoch erhalten.
Hier noch der Codeschnipsel aus dem Recorder:
ActiveChart.Legend.Select
ActiveChart.FullSeriesCollection(7).Select
With Selection.Format.Line 'hier geht es also um die Linie zwischen den Datenpunkten
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 32, 96)
End With
With Selection.Format.Line 'hier auch noch
.Visible = msoTrue
.Weight = 0.25
End With
Selection.Format.Line.Visible = msoFalse 'aber hier habe ich in den Eigenschaften den Rahmen der Markierungen eingestellt - scheint der selbe Befehl zu sein?
With Selection
.MarkerStyle = 1
.MarkerSize = 5
End With
Selection.MarkerStyle = 8 'hier stelle ich noch die Form und Größe der Markierungen ein
Selection.MarkerSize = 2
With Selection.Format.Fill 'und hier die Farbe der Füllung (ist auch ein anderer Befehl) das klappt auch
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Solid
End With
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 32, 96)
.Transparency = 0
.Solid
End With