[英]How to reference "active/selected" chart data point in Excel using 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.