Я переношу некоторый код, который использую для создания точечных диаграмм в Excel, из Win 7/Excel 2010 в OS X/Excel 2011. На Mac , точки данных отображаются с тенью. Мне не нужна тень, и я не могу понять, как от нее избавиться.
Используя этот рабочий лист(он просто содержит случайные числа в ячейках 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
Может ли кто-нибудь объяснить мне:
Как изменить этот код, чтобы удалить тени, и
Как этот код работает, но установка SeriesCollection(1).Format.Shadow.Visible для msoFalse управляет запустить без видимого эффекта?
Согласно ветке комментариев ниже, вот скриншот вывода макроса слева, точки с включенной и выключенной тенью в середине и включенные тени справа. Я отредактировал макрос, удалив легенду и линии сетки для ясности. Похоже, что вывод макроса имеет меньше теней, чем в состоянии «тень включена», но больше теней, чем в состоянии «тень выключена».