返回列表 上一主題 發帖

[發問] 無法取得 scatter plot 的value

[發問] 無法取得 scatter plot 的value

請教各位大師,
目前表格內已經畫好一個 scatter plot,
想用以下語法要取得 scatter plot 的value,卻出現錯誤,
用watch視窗查看cht.SeriesCollection(1).Values 是有值的,為何debug.print cht.SeriesCollection(1).Values(2) 這一句會錯誤?


Sub get_scatter_point_value()

    Dim cht As Chart, pt As Point

    Set cht = ActiveSheet.ChartObjects(1).Chart
   
    Debug.Print cht.SeriesCollection(1).Values(2)
   
End Sub

scatter.jpg (137.54 KB)

scatter.jpg

回復 1# swatt


    其實不太懂原理

目前有個方法能拿出來
    ar = cht.SeriesCollection(1).Values
    Debug.Print ar(2)

TOP

回復 2# singo1232001

Hi singo1232001
這確實是一個變通的方法,感謝你的幫忙~

TOP

本帖最後由 quickfixer 於 2022-5-28 22:24 編輯

我以前問01的s大
他建議我如果只是取單點,可用這2種方式,你參考一下
第一種,放在你程式碼內
WorksheetFunction.Index(cht.SeriesCollection(1).Values,位置)
你的就是1~5
Debug.Print WorksheetFunction.Index(cht.SeriesCollection(1).Values,2)
不dim、set,用一行
Debug.print WorksheetFunction.Index(ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values,1)

第二種
Sub test()
    Dim cht As Series
    Set cht = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
    Debug.Print cht.Values(1)
End Sub

TOP

回復 4# quickfixer

Hi quickfixer,
謝謝你提供的辦法,又學到了不少,VBA裏頭真的有不少的眉眉角角~

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題