繁体   English   中英

Excel VBA-参考图数据按名称而不是索引号指向

[英]Excel VBA - Reference chart data point by name instead of index number

我有一个基本的甘特图,其中有一个表作为其数据源,但是,当在工作表上的某处选择另一个名称时,该表将被清空并重新填充属于所选名称的数据。

每个名称都有一个相同的数据点,我希望其栏具有另一种颜色。

我知道这种引用数据点的方式:

ActiveChart.FullSeriesCollection(2).Points(3)

但这在我的示例中行不通,因为数据点的数量一直在变化,而同一件事并不总是排在第三位。

我试过了,但是就像我以为它引发了类型不匹配错误:

ActiveChart.FullSeriesCollection(2).Points("SomeString")

是否可以在VBA中通过其名称引用数据点?

With是一个简单的甘特图,看起来像这样:

在此处输入图片说明

您可以通过以下方式更改点B的颜色:首先返回XValue,与您要查找的名称匹配,然后设置相应的点颜色:

Option Explicit

Sub ChangePointBColor()
    Dim x As Integer
    Dim varValues As Variant
    Dim cht As Chart
    Set cht = Worksheets("Sheet1").ChartObjects("Chart 3").Chart

    With cht.SeriesCollection(2) 
        varValues = .XValues

        For x = LBound(varValues) To UBound(varValues)
            If varValues(x) = "B" Then
                .Points(x).Interior.Color = RGB(140, 125, 230)
            End If
        Next x
    End With
End Sub

结果

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM