[英]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.