Excel VBAでグラフを作成する際、タイトルや軸ラベルを設定すると、
グラフの意味が一目でわかるようになります。
この記事では、VBAでグラフタイトルや軸ラベルを設定する基本構文から、
実践的なコード例までを詳しく解説します。
目次
1. グラフタイトルを設定する方法
グラフタイトルは、VBAで簡単に設定できます。
基本的には、HasTitle プロパティでタイトルを表示し、ChartTitle.Text で文字列を指定します。
Dim chtObj As ChartObject
Set chtObj = ActiveSheet.ChartObjects(1)
With chtObj.Chart
.HasTitle = True
.ChartTitle.Text = "月別売上推移"
End With
| コード | 説明 |
|---|---|
.HasTitle = True | グラフタイトルを表示する設定 |
.ChartTitle.Text = "タイトル名" | 表示する文字列を指定 |
● 実例:タイトル付きのグラフを作成
Sub AddChartTitle()
Dim chtObj As ChartObject
Set chtObj = ActiveSheet.ChartObjects.Add(100, 50, 400, 250)
With chtObj.Chart
.ChartType = xlColumnClustered
.SetSourceData Range("A1:B6")
.HasTitle = True
.ChartTitle.Text = "月別売上推移"
End With
End Sub
このコードを実行すると、
「月別売上推移」というタイトル付きのグラフが作成されます。
2. 軸ラベルを設定する方法(X軸・Y軸)
X軸(横軸)やY軸(縦軸)にタイトルをつけるには、Axes プロパティを使用します。
以下のように設定します。
With chtObj.Chart
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = "月"
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "売上(円)"
End With
| 軸の種類 | VBA定数 | 内容 |
|---|---|---|
| X軸(横軸) | xlCategory | 項目軸(例:月、日付、製品名など) |
| Y軸(縦軸) | xlValue | 数値軸(例:売上、数量など) |
● X軸・Y軸ラベルを同時に設定する例
Sub AddAxisLabels()
Dim chtObj As ChartObject
Set chtObj = ActiveSheet.ChartObjects.Add(100, 50, 400, 250)
With chtObj.Chart
.ChartType = xlColumnClustered
.SetSourceData Range("A1:B6")
'タイトル設定
.HasTitle = True
.ChartTitle.Text = "月別売上推移"
'軸ラベル設定
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = "月"
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "売上(円)"
End With
End Sub
3. タイトルや軸ラベルのフォントを変更する方法
タイトルや軸ラベルの文字サイズ・太字・色などは、Format.TextFrame2.TextRange.Fontを利用して変更できます。
With chtObj.Chart.ChartTitle.Format.TextFrame2.TextRange.Font
.Size = 14
.Bold = True
.Fill.ForeColor.RGB = RGB(0, 0, 255)
End With
| 設定項目 | 内容 |
|---|---|
.Size = 14 | フォントサイズを変更 |
.Bold = True | 太字に設定 |
.Italic = True | 斜体に設定 |
.Fill.ForeColor.RGB = RGB(0,0,255) | 文字色を青に変更 |
同様に、Y軸タイトルなどにもフォント設定を適用できます。
With chtObj.Chart.Axes(xlValue).AxisTitle.Format.TextFrame2.TextRange.Font
.Size = 12
.Bold = True
End With
4. よくあるエラーと注意点
| 問題 | 原因 | 対処法 |
|---|---|---|
| タイトルが表示されない | .HasTitleを指定していない | .HasTitle = Trueを追加 |
| 軸タイトルが表示されない | 円グラフなど「軸のないグラフ」で実行 | 棒グラフ・折れ線グラフなど軸のあるグラフで使用 |
| フォント設定が反映されない | .Format.TextFrame2 の指定が抜けている | 正しいプロパティ経由で設定 |
5. まとめ
VBAでグラフを作成する際には、タイトルや軸ラベルを設定して
「何を表すグラフか」がすぐに伝わるようにすることが大切です。
| 設定対象 | コード例 | 内容 |
|---|---|---|
| グラフタイトル | .ChartTitle.Text = "売上推移" | グラフの主題を明確に |
| X軸ラベル | .Axes(xlCategory).AxisTitle.Text = "月" | 区分の内容を示す |
| Y軸ラベル | .Axes(xlValue).AxisTitle.Text = "売上(円)" | 数値の単位を示す |
タイトルと軸ラベルを整えることで、
グラフがより見やすく、伝わりやすい資料に仕上がります。
コメント