如何使用 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