Board logo

標題: [發問] 無法取得 scatter plot 的value [打印本頁]

作者: swatt    時間: 2022-5-27 21:50     標題: 無法取得 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
[attach]34948[/attach]
作者: singo1232001    時間: 2022-5-28 10:08

回復 1# swatt


    其實不太懂原理

目前有個方法能拿出來
    ar = cht.SeriesCollection(1).Values
    Debug.Print ar(2)
作者: swatt    時間: 2022-5-28 13:26

回復 2# singo1232001

Hi singo1232001
這確實是一個變通的方法,感謝你的幫忙~
作者: quickfixer    時間: 2022-5-28 22:09

本帖最後由 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
作者: swatt    時間: 2022-5-29 15:54

回復 4# quickfixer

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)