VBA图表着色

时间:2014-04-11 13:25:17

标签: vba ms-access access-vba

我在使用VBA从图表中选择记录着色时遇到了问题。

我有一些代码可以为我的图表中的每条记录着色。这是:

SeriesCount = MyChart.SeriesCollection.Count
For i = 1 To SeriesCount
    MyChart.SeriesCollection(i).Interior.Color = RGB(255, 0, 0)
Next

我想要的是改变所选记录的颜色,例如下图中的20。谢谢你的帮助。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以按位置对其进行硬编码。由于20是图表中的第5个点,因此您可以使用此代码:

ActiveChart.SeriesCollection(1).Points(5).Interior.color = RGB(55, 130, 150)

如果你需要搜索20,那就更难了。

Sub color()
    Dim MyChart As Chart
    Set MyChart = ActiveChart

    SeriesCount = MyChart.SeriesCollection.Count
    For i = 1 To SeriesCount
        Set s = MyChart.SeriesCollection(i)
        vals = s.XValues

        For x = LBound(vals) To UBound(vals)
          If vals(x) = 20 Then
            s.Points(x).Interior.color = RGB(55, 130, 150)
          Else
            s.Points(x).Interior.color = RGB(255, 0, 0)
          End If
        Next x
    Next
End Sub

<强>测试:

enter image description here