「マクロ データラベル 移動」
といった検索キーワードでアクセスがありました。
Excel VBAでグラフのデータラベルの表示位置を変更するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。
データ要素のデータラベルの表示位置を変更する
下図のように、データラベルが表示されているグラフがアクティブな状態で、
以下のExcelマクロを実行してください。
Dim pnt As Point
Set pnt = ActiveChart.SeriesCollection(1).Points(1)
Dim dlbl As DataLabel
Set dlbl = pnt.DataLabel
dlbl.Position = xlLabelPositionInsideBase
End Sub
「.SeriesCollection(1).Points(1)」で取得できる、1つ目のデータ系列の1つ目のデータ要素のデータラベルだけが、下図のように横軸近くに位置に移動します。
DataLabelオブジェクトのPositionプロパティを使うと、
データ要素単位でデータラベルの表示位置を取得/設定できるので、上記のSubプロシージャではXlDataLabelPosition列挙型に定義されている定数の、
xlLabelPositionInsideBaseを指定することで、横軸近くに移動させています。
データ系列のデータラベルの表示位置を変更する
データラベルの操作は、データ要素単位ではなく、データ系列単位でも可能です。
Dim srs As Series
Set srs = ActiveChart.SeriesCollection(2)
Dim coll_dlbl As DataLabels
Set coll_dlbl = srs.DataLabels
coll_dlbl.Position = xlLabelPositionInsideBase
End Sub
先ほどのグラフがアクティブな状態で上記のExcelマクロを実行すると、今度は「.SeriesCollection(2)」で取得できる2つ目のデータ系列のデータラベルの表示位置が下図のように移動します。
DataLabelsコレクションにもPositionプロパティが用意されており、DataLabels.Positionプロパティを使えばデータ系列単位でデータラベルの表示位置を取得/設定できます。
最終更新日時:2022-07-05 20:28
- Newer:円グラフのSERIES関数
- Older:WordとExcelの「Chart」を名前に含むオブジェクト一覧
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでデータラベルの表示位置を変更する-DataLabel.Position/DataLabels.Position