グラフの凡例の設定

Excel VBA を使ってグラフの凡例を設定する方法について解説します。グラフの凡例は「Legend」オブジェクトで管理されています。

(Last modified: )

グラフの凡例を設定する

グラフで凡例を設定するには、まずグラフが凡例が表示されている必要があります。グラフに凡例が表示されているかどうかを設定するには、Chartオブジェクトの「HasLegend」プロパティを使います。

Dim chart1 As Chart

Set chart1 = Application.Charts("Graph1")
chart1.HasLegend = True

「HasLegend」プロパティが「True」の場合には凡例が表示され、「False」の場合には凡例を表示されていない状態です。

「HasLegend」プロパティを「True」に設定した後で、凡例を表すLegendオブジェクトを取得します。Legendオブジェクトを取得するにはChartオブジェクトの「Legend」プロパティを使います。

Dim chart1 As Chart
Dim legend1 As Legend

Set chart1 = Application.Charts("Graph1")
chart1.HasLegend = True

Set legend1 = chart1.Legend

Legendオブジェクトを取得したら凡例を表示する位置を指定します。凡例の表示位置はLegendオブジェクトの「Position」プロパティを使います。

Dim chart1 As Chart
Dim legend1 As Legend

Set chart1 = Application.Charts("Graph1")
chart1.HasLegend = True

Set legend1 = chart1.Legend
legend1.Position = xlLegendPositionCorner

「Position」プロパティに設定できる値は以下のどれかです。

定数凡例の位置
xlLegendPositionCorner
xlLegendPositionRight
xlLegendPositionTop
xlLegendPositionBottom
xlLegendPositionLeft

またグラフのタイトルの書式設定を行うには、Legendオブジェクトの「Font」プロパティを使います。

Dim chart1 As Chart
Dim legend1 As Legend
Dim font1 As Font

Set chart1 = Application.Charts("Graph1")
chart1.HasLegend = True

Set legend1 = chart1.Legend
legend1.Position = xlLegendPositionCorner

Set font1 = chartTitle1.Font

「Font」プロパティでグラフタイトルの「Font」オブジェクトを取得します。そして取得した「Font」オブジェクトに対してフォント名やサイズなどの書式設定を行って下さい。フォントオブジェクトに関する詳しい説明は「フォントやサイズの設定」を参照して下さい。

サンプルプログラム

では簡単なサンプルで試してみましょう。

Sub テスト()

    Dim chart1 As Chart
    Dim legend1 As Legend
    Dim font1 As Font

    Set chart1 = Charts.Add
    chart1.SetSourceData Worksheets("Sheet1").Range("B2:E6")

    chart1.HasLegend = True

    Set legend1 = chart1.Legend
    legend1.Position = xlLegendPositionBottom

    Set font1 = legend1.Font
    font1.Size = 20

End Sub

上記マクロを実行すると次のようになります。

グラフの凡例の指定

-- --

Excel VBA を使ってグラフの凡例を設定する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。