更改条形图中的条形颜色

Posted

技术标签:

【中文标题】更改条形图中的条形颜色【英文标题】:Changing bar colors in bar graph 【发布时间】:2011-08-03 06:01:46 【问题描述】:

我创建了一个 VBA for Excel 2007 程序,它可以根据活动工作簿中多达 52 个不同的选项卡自动创建 ROI 条形图。我快完成了,唯一我不知道的是如何更改条形图的颜色。

图表是在它们自己的子函数中创建的,通过这样的调用来调用。每个变量在被调用时都会发生变化。

Call AddChartObject(1, 1, "Example", extraWeeks, weekDifference)

它调用的我的 sub 看起来像这样。

Sub AddChartObject(j As Integer, k As Integer, passedChartTitle As String, xtraWks As Integer, ttlWks As Integer)

    Dim topOfChart As Integer

    topOfChart = 25 + (350 * j)

    'Adds bar chart for total sales

    With ActiveSheet.ChartObjects.Add(Left:=375, Width:=475, Top:=topOfChart, Height:=325)
        .Chart.SetSourceData Source:=Sheets("Consolidation").Range("$A$" & 3 + ((17 + xtraWks) _
            * j) & ":$C$" & (4 + ttlWks) + ((17 + xtraWks) * k))
        .Chart.ChartType = xl3DColumnClustered
        .Chart.SetElement (msoElementDataLabelShow)
        .Chart.HasTitle = True
        .Chart.ChartTitle.Text = passedChartTitle & " Sales"
        .Chart.SetElement (msoElementLegendBottom)
        .Chart.SetElement (msoElementDataLabelNone)
        .Chart.RightAngleAxes = True
    End With

End Sub

我想在条形图中的 SECOND 系列上使用的 RGB 颜色是 (155, 187, 89),根据营销人员的意愿。我很确定我可以在我的With 中使用.chart.????.???? = RGB (155, 187, 89) 命令来设置它,但是我花了太多时间试图弄清楚它,结果却一无所获。

【问题讨论】:

【参考方案1】:

你试过了吗

.Chart.SeriesCollection([index]).Interior.Color = RGB(155, 187, 89)

(其中 [index] 是您要为其更改颜色的系列的占位符)?

【讨论】:

完美!我只是错过了.interior。部分。非常感谢 Jubbles!【参考方案2】:

它在非常相似的情况下适用于我的 ScottyStyles,但仅适用于第一个系列系列。我在下面使用了相同的方法,这并没有改变 SeriesCollection(2) 的颜色。那是一组线性数据。

ActiveSheet.ChartObjects("Chart 1").Activate

    ActiveChart.ClearToMatchStyle

    ActiveChart.SeriesCollection(1).Interior.Color = RGB(85, 142, 213)
    ActiveChart.SeriesCollection(2).Interior.Color = RGB(192, 0, 0)

【讨论】:

【参考方案3】:

要更改集合中的不同条,您可以使用:

ActiveChart.SeriesCollection(1).Points(1).Format.Fill.ForeColor.RGB = RGB(85, 142, 213)
ActiveChart.SeriesCollection(1).Points(2).Format.Fill.ForeColor.RGB = RGB(192,0, 0)
...

【讨论】:

以上是关于更改条形图中的条形颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改 ggplotly() 重叠条形图中的条形颜色

在 100% 堆叠的条形图中更改颜色 python

在多彩多姿的分组条形图中更改轮廓的颜色

Kendo UI-如何更改条形图中 X 轴的颜色

根据范围有条件地更改Excel VBA中条形图中各个条形的颜色

如何更改 Vega-lite 条形图中条形的颜色?