更改条形图中条形图的颜色

时间:2011-12-13 20:49:49

标签: excel-vba charts excel-2007 vba excel

我在excel中有一个代码来更改条形图的颜色,但它不起作用。任何人都可以建议我在代码中做错了什么。

With ActiveChart.SeriesCollection(1).Interior.Color = RGB(0, 153, 64)
End With

此代码不会影响条形图的颜色。

此外,对于所有条形(代表值0到200)我想要一种颜色(绿色)但是对于代表两个数据点(100和200)的两个条形,我想要添加不同的颜色。任何人都可以告诉我如何使用VBA。 我很感激你的时间。

非常感谢

1 个答案:

答案 0 :(得分:2)

With语句指定要对其执行操作的对象或属性。你的代码应该是这样的:

With ActiveChart.SeriesCollection(1)
    .Interior.Color = RGB(0, 153, 64)
End With

编辑 - 对于问题的第2部分:

Sub ColorBars()
Dim chtSeries As Excel.Series
Dim i As Long

For Each chtSeries In ActiveChart.SeriesCollection
    With chtSeries
        For i = 1 To .Points.Count
            If .Values(i) = 100 Or .Values(i) = 200 Then
                .Points(i).Interior.Color = .Interior.Color = RGB(75, 172, 198)
            Else
                .Points(i).Interior.Color = RGB(0, 153, 64)
            End If
        Next i
    End With
Next chtSeries
End Sub