「DataLabel.Top VBA 位置取得」
という検索でアクセスがありました。
Excel VBAでDataLabelの位置を取得するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。
DataLabelを取得する2つの経路
データ要素単位のデータラベルを表すDataLabelオブジェクトを取得する階層の経路は、大きく2つあります。
単独のデータ系列を表すSeriesオブジェクトから、全データ要素を表すPointsコレクションを取得して、単独のデータ要素を表すPointオブジェクトのDataLabelプロパティでDataLabelオブジェクトを取得する以下のような経路が1つ。
Series └ Points └ Point └ DataLabel
もう1つは、単独のデータ系列を表すSeriesオブジェクトのデータラベルを表すDataLabelsコレクションを経由して、単独のデータラベルを表すDataLabelオブジェクトを取得する以下のような経路です。
Series └ DataLabels └ DataLabel
それぞれ簡単なマクロをご紹介しておきます。
Pointsコレクション経由でDataLabelの位置を取得するサンプルマクロ
データラベルの表示されているグラフがアクティブな状態で、以下のExcelマクロを実行すると、Pointsコレクション経由で取得したDataLabelのTopプロパティ・Leftプロパティの値がイミディエイトウィンドウに出力されます。
Dim pnt As Point
For Each pnt In ActiveChart.SeriesCollection(1).Points
Debug.Print _
pnt.DataLabel.Top; pnt.DataLabel.Left
Next
End Sub
DataLabelsコレクション経由でDataLabelの位置を取得するサンプルマクロ
以下のExcelマクロを実行すると、DataLabelsコレクション経由で取得したDataLabel.TopプロパティとDataLabel.Leftの位置がイミディエイトウィンドウに出力されます。
Dim dlbl As DataLabel
For Each dlbl In ActiveChart.SeriesCollection(1).DataLabels
Debug.Print _
dlbl.Top; dlbl.Left
Next
End Sub
最終更新日時:2022-07-05 16:28
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » DataLabelの位置をVBAで取得する