我有一个包含这样数据的数据透视表:
Chain Store Units
Bob's BB Los Angeles 10
Bob's BB San Diego 12
Tom's TM Los Angeles 12
Tom's TM San Francisco 18
Kate's K Monterey 11
目前我的条形图只是按降序显示所有商店和单位,因此TM San Francisco是第一个,然后是TM洛杉矶和BB圣地亚哥,然后是K Monterey等。这就是我想要查看数据的方式。
但我也希望对链条进行颜色编码,因此Bob的商店有一个红色条,Tom有蓝色,而Kate是绿色。
有可能这样做吗?我已经尝试了各种方法来设置数据透视表,但最终看起来一团糟,我无法找到一种方法将每个条形图的颜色基于“链”字段。
=
我正在测试宏解决方案,但如果有人有非宏解决方案,请继续回答。 :)
答案 0 :(得分:1)
如果您正在寻找基于宏/ VBA的解决方案,那么操作图表的数据点格式非常容易。假设系列XValues = Chain,你可以这样做:
Sub SetColors()
Dim cht As Chart
Dim srs As Series
Dim xVals As Variant
Dim p As Long
Set cht = ActiveSheet.ChartObjects(1).Chart '<-- Modify as needed'
Set srs = cht.SeriesCollection(1) '<-- Modify as needed'
xVals = srs.XValues '<-- modify as needed, if your Chain is not part of series data you will need to build this array another way'
For p = 1 To UBound(xVals)
Select Case xVals(p)
Case "Bob's"
srs.Points(p).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
Case "Tom's"
srs.Points(p).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
Case "Kate's"
srs.Points(p).Format.Fill.ForeColor.RGB = RGB(0, 0, 255)
End Select
Next
End Sub
如果链不是系列数据的一部分,则必须更改xVals
设置的方式,但仍应适用一般原则:迭代系列中的点,检查参考列表,并根据参考项目应用特定颜色。