我有一个基本的甘特图,其中有一个表作为其数据源,但是,当在工作表的某处选择了另一个名称时,该表将被清空并重新填充属于所选名称的数据。
每个名称都有一个数据点相同,我希望它的栏有另一种颜色。
我知道引用数据点的方法:
ActiveChart.FullSeriesCollection(2).Points(3)
但是这在我的例子中不起作用,因为数据点的数量不断变化,同样的事情并不总是在第三位。
我尝试了这个,但是就像我认为它会引发类型不匹配错误:
ActiveChart.FullSeriesCollection(2).Points("SomeString")
是否可以在VBA中按名称引用数据点?
答案 0 :(得分:2)
With是一个简单的甘特图,如下所示:
您可以通过首先返回XValue,与您要查找的名称匹配来更改B点的颜色,然后设置相应的点颜色:
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
<强>结果强>