Excel图表图例与标记不匹配

时间:2014-12-08 11:34:06

标签: excel vba excel-vba excel-2010

我使用VBA格式化了图表的标记:

Dim sc As SeriesCollection
Set sc = MySheet.ChartObjects("MyChart").Chart.SeriesCollection

Dim p As Point, s As Series
For Each s In sc
    For Each p In s.Points
        p.Format.Fill.ForeColor.RGB = s.Format.Line.ForeColor.RGB
        p.Format.Fill.BackColor.RGB = s.Format.Line.ForeColor.RGB
        p.MarkerSize = 3
    Next p
Next s

但是,图表区域中的标记与图例中的标记不匹配(边框颜色相同,但图例中的填充颜色不同)。请注意右侧框中的颜色(图例):

enter image description here

我已经查看了图表系列的几个不同属性,但无法找到控制它的内容。 Point属性MarkerBackgroundColorMarkerForegroundColor似乎很可能,但无法修复。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

由于你正在循环使用seriescollection,你可以一次性完成所有标记:

For Each s In sc
    s.MarkerBackgroundColor = s.Border.Color
    s.MarkerSize = 3
Next s

答案 1 :(得分:0)

发现了更多的挖掘:

Worksheet.ChartObjects(Index).Chart.Item(Index).Format.Fill.ForeColor.RGB

相当冗长!