Excel VBA Line Color / Marker Line Color Excel VBA Line Color / Marker Line Color vba vba

Excel VBA Line Color / Marker Line Color


The line colour of the connecting lines is Series.Format.Line.ForeColor. The marker line colour is Series.MarkerForegroundColor. But at least with Excel 2007 there is a problem with setting Series.Format.Line.ForeColor. See example:

Sub Macro3() Dim oChart As Chart Dim oSeries As Series Set oChart = ActiveChart Set oSeries = oChart.SeriesCollection(2) oSeries.Format.Line.Weight = 5 'Line.Weigth works ever oSeries.Format.Line.Visible = msoFalse 'for Line.ForeColor getting to work we have to cheat something oSeries.Format.Line.Visible = msoTrue oSeries.Format.Line.ForeColor.RGB = RGB(0, 255, 0) 'now it works oSeries.MarkerSize = 15 oSeries.MarkerBackgroundColor = RGB(255, 0, 0) 'marker background oSeries.MarkerForegroundColor = RGB(0, 0, 255) 'marker foreground (lines around)End Sub

The ActiveChart is a scatter chart. And this is tested with Excel 2007.


From Excel 2013, the line colour and the marker line colour are easy to distinguish, as the Line colour is set using the .Border property, whilst the Marker colours are set using .MarkerBackgroundColor and .MarkerForegroundColor properties.

So the following will give you white markers, with a red border and black connecting lines between them:

ActiveChart.SeriesCollection(1).SelectWith Selection    .Border.LineStyle = xlContinuous    .Border.Color = RGB(0,0,0)    .MarkerBackgroundColor = RGB(255, 255, 255)    .MarkerForegroundColor = RGB(255, 0, 0)End With

NB: If you make use of Selection.Format.Line.Weight, note this applies to both the borders and connecting line thickness by default


You could use

ActiveChart.SeriesCollection(1).MarkerForegroundColor = -2