系列単位でデータラベルのフォント設定を行うExcel VBAのコードについて解説しました。
系列単位ではなく、系列の要素単位でも、データラベルのフォント操作は可能です。
データラベルのフォント設定を系列要素単位で行うサンプル
データラベルの表示されているグラフがアクティブな状態で以下のSubプロシージャを実行すると、1つ目の系列の1つ目の要素のデータラベルのフォントが18ポイントに設定されます。
ActiveChart _
.SeriesCollection(1).Points(1).DataLabel _
.Format.TextFrame2.TextRange.Font.Size = 18
End Sub
Chart.SeriesCollectionメソッドの引数に「1」を指定することで取得した、
.SeriesCollection(1).Points(1).DataLabel _
1つ目の系列を表すSeriesオブジェクトに用意されているPointsメソッドの引数に
「1」を指定して取得した、
.SeriesCollection(1).Points(1).DataLabel _
1つ目の系列の1つ目の要素を表すPointオブジェクトのDataLabelプロパティを使って
.SeriesCollection(1).Points(1).DataLabel _
系列要素のデータラベルを表すDataLabelオブジェクトを取得し、
フォントサイズを設定しています。
「.Format.TextFrame2.TextRange.Font.Size」の部分は、ご紹介済みの系列単位でデータラベルのフォント設定を行う場合と同じです。
単独のデータラベルのフォントサイズを設定するサンプル
以下のようなコードでも、1つ目の系列の1つ目の要素のデータラベルのフォント設定ができます。
ActiveChart _
.SeriesCollection(1).DataLabels(1) _
.Format.TextFrame2.TextRange.Font.Size = 18
End Sub
結果的には同じですが、先ほどとは辿っているオブジェクトの階層構造が異なります。
先ほどのDataLabelオブジェクトを取得するコードは、
.SeriesCollection(1).Points(1).DataLabel
と、1つ目の系列の、1つ目の系列要素を表すDataLabelオブジェクトを取得しています。
それに対し、
.SeriesCollection(1).DataLabels(1)
と、SeriesオブジェクトのDataLabelsメソッドの引数に「1」を指定することで、
単独のデータラベルを表すDataLabelオブジェクトを取得しています。
最終更新日時:2022-07-15 16:34
- Newer:ヘッダー内の表をWord VBAで編集する
- Older:散布図・横棒グラフの横軸・X軸の最大値をVBAで設定する
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » 系列要素単位のデータラベルフォント操作をVBAで行う