如何使用 VBA 格式化折线图的点线颜色
How to format point's line color of a line chart using VBA
我正在尝试更改图表上一个点的线条颜色。图表系列是线系列。我想更改此系列中第二个点的线条颜色。
我想做的基本上是这样的:
我正在使用以下代码:
'pts < this is points object
'pt < this is point object
pt = pts.Item(3)
pt.Format.Line.ForeColor.RGB = RGB(150, 150, 150)
所有对象都被正确引用,一切正常。它不会产生任何错误,但此代码会格式化标记行(即使行系列没有标记!)。无论我尝试什么,我都会格式化标记线(又名边框)。我找不到格式化特定点的线的方法(如上图所示)。
是否有任何“隐藏”组合允许我这样做?
您可以设置点的前景色Format.Line,像这样:
Sub colorSegment()
Dim ws As Worksheet
Dim cht As Chart
Set ws = ActiveSheet
Set cht = ws.ChartObjects("Chart 1").Chart
With cht.SeriesCollection(1)
.Points(4).Format.Line.ForeColor.RGB = RGB(150, 150, 150)
.Points(7).Format.Line.ForeColor.RGB = RGB(150, 150, 150)
End With
End Sub
我正在尝试更改图表上一个点的线条颜色。图表系列是线系列。我想更改此系列中第二个点的线条颜色。
我想做的基本上是这样的:
我正在使用以下代码:
'pts < this is points object
'pt < this is point object
pt = pts.Item(3)
pt.Format.Line.ForeColor.RGB = RGB(150, 150, 150)
所有对象都被正确引用,一切正常。它不会产生任何错误,但此代码会格式化标记行(即使行系列没有标记!)。无论我尝试什么,我都会格式化标记线(又名边框)。我找不到格式化特定点的线的方法(如上图所示)。
是否有任何“隐藏”组合允许我这样做?
您可以设置点的前景色Format.Line,像这样:
Sub colorSegment()
Dim ws As Worksheet
Dim cht As Chart
Set ws = ActiveSheet
Set cht = ws.ChartObjects("Chart 1").Chart
With cht.SeriesCollection(1)
.Points(4).Format.Line.ForeColor.RGB = RGB(150, 150, 150)
.Points(7).Format.Line.ForeColor.RGB = RGB(150, 150, 150)
End With
End Sub