• ベストアンサー

VBAでの質問

散布図で表示した要素ChartObjects.Chart.SeriesCollection(1).Points(2)のExcel上の座標を取得するにはどうしたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.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

kinakosansan
質問者

お礼

大変参考になりました!! ありがとうございます.

関連するQ&A