Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフ凡例の枠線色を変更する

VBAでグラフ凡例の枠線色を変更する

対象:Excel2010, Excel2013, Windows版Excel2016

「エクセルvba 凡例の枠色」
といった検索で、時折アクセスがあることに気付きました。

VBAでグラフ凡例の枠線色を変更するには、どのようなオブジェクト式(オブジェクトを取得するコード)を書けばいいのか探していらしたのでしょう。

グラフ関連のオブジェクトは階層が深いので、この検索をなさった方の気持ちはよくわかります。

グラフ凡例の枠線色を変更するサンプルマクロ

以下のSubプロシージャが参考になるはずです。

Sub 凡例の枠線色を設定する()
 Dim cht As Chart
 Set cht = ActiveSheet.ChartObjects(1).Chart
 cht.Legend.Format.Line.ForeColor.RGB = RGB(255, 0, 0)
End Sub

埋め込みグラフの存在するワークシートがアクティブな状態で、上記のSubプロシージャを実行すると、凡例の枠線色が、赤色になります。

サンプルマクロのオブジェクト式について

オブジェクト変数を使わなくても、

ActiveSheet.ChartObjects(1).Chart.Legend _
  .Format.Line.ForeColor.RGB = RGB(0, 255, 0)

という1行のコードで同じことはできます。

しかしこのコードでは何のヒントも表示されないので、最低でも学習段階ではオブジェクト変数を使うのがおすすめです。

オブジェクト変数を使って、

Dim cht As Chart
Set cht = ActiveSheet.ChartObjects(1).Chart

と書いておけば、つづく「cht.Legend.Format.Line.ForeColor.RGB」のコーディング時には、自動メンバー表示が行われます。

どうやってオブジェクト式「Legend.Format.Line」を見つけたのか

凡例の枠線色を変更するExcel VBAのコードを、実は今回初めて書きました。

私がどうやって上述のオブジェクト式を見つけたのかを明記しておきます。

グラフの凡例はLegendオブジェクトであることは知っていたので、まずオブジェクトブラウザーでLegendオブジェクトを表示しました。

Legendオブジェクトに用意されているプロパティで、枠線に関係しそうなものがないかと眺め、Formatプロパティの可能性が高いと考え、

Legend.Formatプロパティの返すChartFormatオブジェクトを確認しました。

ChartFormatオブジェクトに用意されているプロパティを眺めると、Shapeオブジェクトに似ていると感じ、枠線はLineプロパティで取得できるLineFormatオブジェクトだろうと考え、

上記のオブジェクト式を書きました。

最終更新日時:2022-09-30 15:44

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » VBAでグラフ凡例の枠線色を変更する

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.