【发布时间】:2014-05-23 18:28:39
【问题描述】:
我正在尝试使用 vba 创建项目时间线。我想为垂直(Y)和水平(X)误差线创建不同的颜色/样式格式。我首先使用 Record Macro 来查看 X 和 Y 条的选择方式如何不同,但两者都显示为相同的 ErrorBars 属性。我希望 Y 误差线用虚线显示,但是当我添加那行代码时,X 和 Y 误差线都会改变。有什么建议吗?
Sub Timeline()
Dim sheet1 As Worksheet
Dim timeline As Chart
Set sheet1 = ActiveWorkbook.Worksheets("sheet1")
Set timeline = sheet1.Shapes.AddChart.Chart
With timeline
.ChartType = xlXYScatter
.SeriesCollection.NewSeries
.SeriesCollection(1).Name ="Project Lengths"
.SeriesCollection(1).XValues ="='sheet1'!C7:C25"
.SeriesCollection(1).Values ="='sheet1'!D7:D25"
.SeriesCollection(1).ErrorBar Direction:=xlX, Include:= _
xlPlusValues, Type:=xlCustom, Amount:="='sheet1'!E7:E25"
.SeriesCollection(1).ErrorBars.EndStyle = xlNoCap
.SeriesCollection(1).ErrorBars.Format.Line.Visible = msoTrue
.SeriesCollection(1).ErrorBars.Format.Line.ForeColor.RGB = RGB(0, 112, 192)
.SeriesCollection(1).ErrorBars.Format.Line.Transparency = 0
.SeriesCollection(1).ErrorBars.Format.Line.Weight = 2.5
.SeriesCollection(1).ErrorBar Direction:=xlY, Include:= _
xlMinusValues, Type:=xlPercent, Amount:=100
.SeriesCollection(1).ErrorBars.EndStyle = xlNoCap
.SeriesCollection(1).ErrorBars.Format.Line.Visible = msoTrue
.SeriesCollection(1).ErrorBars.Format.Line.DashStyle = msoLineSysDash
End With
End Sub
【问题讨论】:
-
有趣的问题,似乎您可以手动设置不同的格式,但宏记录器没有显示如何选择每个格式。微软似乎也将其作为
xlYErrorBars和xlXErrorBars用于互操作类......那么为什么他们不让它在excel中更可用呢?嗯...