簡體   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