「フォントサイズ 変更 vba グラフ 軸ラベル」
といった検索キーワードで、時折アクセスがあります。
Excel VBAで、グラフの軸ラベルのフォントサイズを変更するには、どのようなコードを書けばいいのか探していた方による検索です。
軸ラベルのフォントサイズを設定するサンプル
棒グラフや折れ線グラフをアクティブな状態にしておいてから、以下のSubプロシージャを実行してみてください。
Dim ax_cat As Axis
Set ax_cat = ActiveChart.Axes(xlCategory)
ax_cat.HasTitle = True
ax_cat.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 12
Dim ax_val As Axis
Set ax_val = ActiveChart.Axes(xlValue)
ax_val.HasTitle = True
ax_val.AxisTitle.Font.Size = 8
横(項目)軸のラベルが12ポイントに、
Set ax_cat = ActiveChart.Axes(xlCategory) ax_cat.HasTitle = True ax_cat.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 12
縦(値)軸のラベルが8ポイントに、
Set ax_val = ActiveChart.Axes(xlValue) ax_val.HasTitle = True ax_val.AxisTitle.Font.Size = 8
それぞれ設定されます。
いずれも、Axisオブジェクトに用意されているHasTitleプロパティをTrueに設定しておいてから、
Set ax_cat = ActiveChart.Axes(xlCategory) ax_cat.HasTitle = True
Set ax_val = ActiveChart.Axes(xlValue) ax_val.HasTitle = True
フォントサイズの変更を行っています。
ax_cat.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 12
ax_val.AxisTitle.Font.Size = 8
AxisTitle.Fontプロパティは非表示だが存在
ここでは、項目軸の設定を、
ax_cat.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 12
としていますが、数値軸のように
ax_cat.AxisTitle.Font.Size = 12
としてもOKです。
最近のExcelでは、AxisTitleオブジェクトのFontプロパティは、オブジェクトブラウザーで非表示に設定されていますが、実は存在しています。
AxisTitle.Fontプロパティが非表示に設定されているのですから、
AxisTitle.Format.TextFrame2.TextRange.Font.Size = 12
といった深い階層を辿るのが、推奨されていると考えるべきなのでしょう。
しかし、AxisTitleオブジェクトに似たオブジェクトであるTickLabelsについては、Fontプロパティは非表示になっていません。
また、AxisTitle.Format.TextFrame2.TextRangeといった深い階層を辿ることを本気で推奨するのならば、AxisTitle.Textプロパティも非表示設定にして、
軸ラベルの文字列設定をする場合に、
AxisTitle.Format.TextFrame2.TextRange.Text
と辿るのが統一感は出ると思うのですが、実際にはAxisTitle.Textプロパティは非表示にはなっていません。
こういった現状を見ると、軸ラベルのフォント関連の簡単な設定を行うだけならば、AxisTitle.Fontプロパティを使ってもイイのではないかと、私は考えています。
実務で長く使われる可能性のあるコードでAxisTitle.Textプロパティを利用するかどうかは、各自ご判断ください。
最終更新日時:2022-06-22 16:26
Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフの軸ラベル・軸タイトルのフォントサイズを