Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでデータラベルの表示位置を変更する-DataLabel.Position/DataLabels.Position

VBAでデータラベルの表示位置を変更する-DataLabel.Position/DataLabels.Position

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2202 ビルド14931.20132 Microsoft Store)

「マクロ データラベル 移動」
といった検索キーワードでアクセスがありました。

Excel VBAでグラフのデータラベルの表示位置を変更するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

データ要素のデータラベルの表示位置を変更する

下図のように、データラベルが表示されているグラフがアクティブな状態で、

以下のExcelマクロを実行してください。

Sub DataLabelの位置を変更する()
 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を指定することで、横軸近くに移動させています。

データ系列のデータラベルの表示位置を変更する

データラベルの操作は、データ要素単位ではなく、データ系列単位でも可能です。

Sub DataLabelsの位置を変更する()
 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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでデータラベルの表示位置を変更する-DataLabel.Position/DataLabels.Position

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.