如何控制Excel中各个饼图段的颜色?

我希望能够程序化地控制饼图中各部分的颜色。 理想情况下,我的图表将基于一个3列表,其中列是数据值,标签和饼图颜色值。 颜色值将是在Access窗体属性中看到的相同数字。

谢谢,

史蒂夫

Sub a() ActiveSheet.ChartObjects("Chart 1").Activate ActiveChart.SeriesCollection(1).Points.Item(1).Interior.ColorIndex = 7 End Sub 

您可以使用我在This Other Answer中发布的技巧来学习ColorIndex所代表的颜色

也许这些线上的东西?

 Dim ws As Worksheet Dim sh As Shape Set ws = Sheet2 Set sh = ws.Shapes.AddChart '.Select With sh.Chart .ChartType = xlPie .SetSourceData Source:=Range("Sheet1!$A$1:$B$3") For i = 1 To .SeriesCollection(1).Points.Count With .SeriesCollection(1).Points(i).Format.Fill .ForeColor.RGB = Range("C" & i).Interior.Color .Solid End With Next End With 

这将允许您使用填充button将颜色添加到单元格,并将其用于段。

首先,我知道这是可以做到的。 BeGraphic有一个免费的Excel加载项function,可以在spreadhseet中设置图表元素的颜色。 看到:

这使用一个加载项。 我必须说结果令人印象深刻。 对于我自己,我需要更多的Excel 原生的 ,许多人会发现这个选项的顶层。

而来自Remou的VB选项和begraphic的加载项则可以做到这一点。 对我而言,或者至less是当前的项目,我需要一个基于Excel的解决scheme(尽可能实用并且是可能的)。 同时,你和我自己都可以通过VB,VBA,.Net和/或macrosfind解决办法。 访问Jon P的网站获取可用的选项。

如果我发现“ 更多 ” – 我会通过这个查询传回来。

阿罗哈