在Excel 2010中,我正在尝试使用VBA将3D效果添加到散点图中。出于某种原因,只要我将深度设置为某个值,Excel会自动将宽度设置为6 pt,反之亦然,如果我正在尝试设置宽度。
这是我的代码片段,它会重现行为。因为我将宽度设置为最后(BevelTopInset
),所以深度会被覆盖为6磅:
Set oCht = ActiveSheet.ChartObjects.Add(1, 1, 400, 400).Chart
oCht.ChartType = xlXYScatter
oCht.ApplyLayout (1)
oCht.SeriesCollection.NewSeries
Set oSer = oCht.SeriesCollection(1)
oSer.Values = 1
oSer.XValues = 1
oSer.MarkerSize = 40
oSer.MarkerStyle = xlMarkerStyleSquare
oSer.MarkerBackgroundColor = RGB(255, 0, 0)
oSer.MarkerForegroundColor = RGB(255, 0, 0)
oSer.Border.ColorIndex = xlNone
With oSer.Format.ThreeD
.Visible = True
.BevelTopDepth = 20 ' will be overwritten to 6 after the next instruction
.BevelTopInset = 20
End With
是否可以通过编程方式设置宽度和深度?