- ベストアンサー
VBAでの質問
散布図で表示した要素ChartObjects.Chart.SeriesCollection(1).Points(2)のExcel上の座標を取得するにはどうしたらいいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
試してみたところ、Point.Left,Point.Topで得られる座標は、PlotAreaに対する値ではなく、ChartAreaに対する値の様です。 従ってワークシート上の座標は下記で求められると思います。 Sub test() Dim myChart As Chart Dim myPoint As Point Set myChart = Me.ChartObjects(1).Chart For Each myPoint In myChart.SeriesCollection(1).Points With myPoint Debug.Print .Left + myChart.ChartArea.Left, .Top + myChart.ChartArea.Top End With Next myPoint End Sub ただ、リンク先にある縦横5ポイントのズレの分を足してやった方が、合いが良い様に思えます。 グラフの枠線の座標の求め方は分かりません。Shapes("グラフ 1")とかやってもChartArea.Left,同Topと同じ値が取得されます。理屈は不明です。 http://d.hatena.ne.jp/yuri_donovic/20120831/1346393570
お礼
大変参考になりました!! ありがとうございます.