グラフの凡例の設定

広告

グラフの凡例を設定する方法を確認します。グラフの凡例は「Legend」オブジェクトで管理されています。

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

Dim chart1 As Chart

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

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

Legendオブジェクト

「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」オブジェクトに対してフォント名やサイズなどの書式設定を行って下さい。フォントオブジェクトに関する詳しい説明は「フォントやサイズの設定」を参照して下さい。

サンプルプログラム

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

testchartedit6.bas

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 )