Some default graphics styles in Excel that produce a small 3D effect also have a slight shadow, as mentioned earlier.
In my Excel (on Windows 7), the default chart style is 2, so there is no shadow or 3D effect. I suspect that on Mac the default chart style is different.
To fix this, you can set the chart style in your code:
With cht.Chart .ChartType = xlXYScatter .ChartStyle = 2 .....
In Excel, ChartStyle settings have the ability to change all aspects of the appearance of the chart, including the appearance of the marker. The only thing MarkStyle sets is the shape of the marker. All other aspects of the appearance of the marker are overridden when the ChartStyle changes.
EDIT
The above comments are still mostly true, but I found a way to turn off the shadow. Like many things with Excel, it is not as easy as you think. Setting the shadow visibility property does not affect the code (for any reason), so you need to set the shadow type to "No shadow."
Sub plotNoShadow() Dim x As Range Dim y As Range Dim cht As ChartObject Set x = ActiveSheet.Range("A1:A6") 'haphazard numbers Set y = ActiveSheet.Range("B1:B6") Set cht = ActiveSheet.ChartObjects.Add(Left:=150, Top:=50, Width:=200, Height:=160) With cht.Chart .ChartType = xlXYScatter .ChartStyle = 26 'Something 3D with a default shadow. This line can be left out. .SeriesCollection.NewSeries With .SeriesCollection(1) .XValues = x .Values = y .Format.Shadow.Type = msoShadow30 'This is the code for an inner shadow End With .SetElement (msoElementLegendNone) .SetElement (msoElementPrimaryValueGridLinesNone) End With End Sub
EDIT Again
Actually, msoShadow30
is an “inner shadow” style and may look strange depending on your marker style. msoShadow41
is the closest to No Shadow I could find. This is actually the code for the shadow below, but by default it is too weak to see. If it appears, the color can always be changed so that it disappears.
Or even better, set the transparency to 1 (fully transparent):
.Format.Shadow.Transparency = 1.0 'Fully transparent