我使用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
但是,图表区域中的标记与图例中的标记不匹配(边框颜色相同,但图例中的填充颜色不同)。请注意右侧框中的颜色(图例):
我已经查看了图表系列的几个不同属性,但无法找到控制它的内容。 Point
属性MarkerBackgroundColor
和MarkerForegroundColor
似乎很可能,但无法修复。我该如何解决这个问题?
答案 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
相当冗长!