Excel 如果标记填充设置为自动,如何获取散点图系列标记BackgroundColor?
我有多个系列的散点图和每个系列的趋势线。我想将趋势线数据标签设置为与系列“填充颜色”相同的颜色。该系列的填充颜色是自动的。Excel 如果标记填充设置为自动,如何获取散点图系列标记BackgroundColor?,excel,vba,charts,Excel,Vba,Charts,我有多个系列的散点图和每个系列的趋势线。我想将趋势线数据标签设置为与系列“填充颜色”相同的颜色。该系列的填充颜色是自动的。.MarkerBackgroundColor属性为所有系列返回-1,而.MarkerBackgroundColorIndex为所有系列返回2。我相信只有当标记填充设置为自动时才会发生这种情况。但是,我不能改变这一点,因为图表中的序列是通过另一个基于动态数据的VBA代码添加的。有什么帮助吗 For i = 1 To Sheet1.ChartObjects("Chart 5").
.MarkerBackgroundColor
属性为所有系列返回-1,而.MarkerBackgroundColorIndex
为所有系列返回2。我相信只有当标记填充设置为自动时才会发生这种情况。但是,我不能改变这一点,因为图表中的序列是通过另一个基于动态数据的VBA代码添加的。有什么帮助吗
For i = 1 To Sheet1.ChartObjects("Chart 5").Chart.SeriesCollection.Count
With Sheet1.ChartObjects("Chart 5").Chart.FullSeriesCollection(i)
.Trendlines(1).DataLabel.Format.Fill.ForeColor.RGB = .MarkerBackgroundColor
End With
Next i
在标记填充设置为“自动”的XY散点图中,Excel将按照与当前调色板中六种主题强调色相同的顺序应用颜色 如果图表有六个以上的系列,这些重点颜色的较浅/较深阴影将被应用,同样按照相同的顺序。实际上,浅色/深色的程度因Excel版本而异。屏幕截图显示了前12个系列的图例和Office 365的默认“Office”调色板,供您参考 因此,如果您知道序列在图表中的顺序,您可以推测其填充颜色。谢谢teylyn 事实上,我通过使用
.Trendlines(1).Format.Line.ForeColor.RGB
而不是.MarkerBackgroundColor
快速解决了这个问题,尽管Trendline颜色也设置为自动,但它的效果令人惊讶
以下是编辑后的代码:
For i = 1 To Sheet1.ChartObjects("Chart 5").Chart.SeriesCollection.Count
With Sheet1.ChartObjects("Chart 5").Chart.FullSeriesCollection(i)
.Trendlines(1).DataLabel.Format.Fill.ForeColor.RGB = .Trendlines(1).Format.Line.ForeColor.RGB
End With
Next i