Я портирую код, который я использую для создания диаграмм разброса в Excel из Win 7/Excel 2010, в OS X/Excel 2011. На Mac отображаются точки данных с тенью. Мне не нужна тень, и я не могу понять, как избавиться от нее.Отключить тень маркера на графиках Excel, созданных vba
Использование this worksheet (он просто случайные числа в ячейках A1: B6, если вы не хотите, чтобы загрузить мой макро-включен рабочий лист) следующий код работает нормально, но производит точек данных с тенями:
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
.SeriesCollection.NewSeries
With .SeriesCollection(1)
.XValues = x
.Values = y
.Format.Shadow.Visible = msoFalse 'This seems to parse, but have no effect
End With
.SetElement (msoElementLegendNone)
.SetElement (msoElementPrimaryValueGridLinesNone)
End With
End Sub
Может кто-нибудь объяснить мне:
Как изменить этот код, чтобы удалить тени и
Как это то, что Тхи s, но установка SeriesCollection (1) .Format.Shadow.Visible to msoFalse позволяет работать без какого-либо видимого эффекта?
Per комментарий нить ниже, вот ScreenCap макро выход на левой стороне, точки с тенью включена, то на середине, и тени включен справа. Для ясности я отредактировал макрос, чтобы удалить легенду и линии сетки. Похоже, что вывод макроса имеет меньше тени, чем состояние «тень на», но больше тени, чем состояние «теневое отключение».
Вы уверены, что это тень, а не трехмерная настройка? Попробуйте что-то вроде '.Format.ThreeD.Visible = False' –
@ Тим Уильямс: Хороший вопрос Тим. :) Тем не менее, при выключении MAC 3-мерная программа все равно даст вам первый снимок, как в моем посте –
@Drew Steen: Как вы получили средний снимок? –