【发布时间】:2015-06-22 21:43:01
【问题描述】:
我正在编写一些 VBA 代码来修改 Excel 图表。对于散点图,我需要修改标记线颜色,有时还需要修改连接线的线条颜色。我可以手动执行这两项操作,但是当我录制宏时,尽管结果非常不同,但这两项操作都会产生相同的代码。
知道如何在代码中区分线条颜色和标记线颜色吗?
这段代码是在我记录自己改变标记线颜色时创建的
Sub Macro3()
'
' Macro3 Macro
'
'
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
End With
End Sub
这段代码是在我记录自己更改连接标记的线的颜色时创建的
Sub Macro4()
'
' Macro4 Macro
'
'
'Change the Line Color
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
End With
End Sub
【问题讨论】:
-
这是图表对象模型的一个缺点。使用 .Format.Line 语法将相同的格式应用于标记线和连接线。使用 .Border 将颜色应用于连接线,将 .MarkerForegroundColor 应用于标记线。