我们在这里找到了一个旧的 Excel 文件,其中包含一个由几年前丢失的 vba 生成的图表。 显然,以下摘自这篇文章并不是解决方案。
For Each shp In sheet.Shapes
If shp.HasChart Then
Set chrt = shp.Chart
'Loop the dataseries to find the legend with the desired name.
For Each s In chrt.SeriesCollection
'If the name fits, go ahead and format the series.
If LCase(s.Name) = LCase(legendName) Then
s.Format.Fill.ForeColor.RGB = RGB(0, 176, 80) ' Green
End If
Next
End If
Next
因为它仅更改此处所示的标记。
有人用过这个功能并记得如何设置吗?
如有任何更改图例文本颜色的建议,我们将不胜感激。
尝试这个循环,而不是示例代码中的循环。它适用于我的简单图表..
For Each chObj In ActiveSheet.ChartObjects
For Each legentry In chObj.Chart.Legend.LegendEntries
legentry.Format.TextFrame2.TextRange.Font.Fill.ForeColor = _
legentry.LegendKey.Format.Line.ForeColor
Next
Next