Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » グラフの枠線を消す-ChartArea.Format.Line

グラフの枠線を消す-ChartArea.Format.Line

動作検証バージョン:Windows版Excel(バージョン1904 ビルド11629.20214)

「グラフ 枠線 消す vba」
という検索キーワードでアクセスがあることに気が付きました。

グラフの枠線を消すサンプルマクロ

以下のSubプロシージャで、アクティブシートに存在する1つ目のグラフの枠線を消せます。

Sub グラフエリアの枠線を非表示に()
 Dim cht As Chart
 Set cht = ActiveSheet.ChartObjects(1).Chart
 cht.ChartArea.Format.Line.Visible = msoFalse
End Sub

オブジェクト変数を使えば自動メンバー表示される

オブジェクト変数を使わない、
  ActiveSheet.ChartObjects(1).Chart _
    .ChartArea.Format.Line.Visible = msoFalse
といった1行の代入ステートメントでもOKですけれど、(最低でも学習段階では)オブジェクト変数への代入を行うことをおすすめします。

オブジェクト変数を使わずに、
  ActiveSheet.
と書き始めても自動メンバー表示されませんが、上記のようにChart型オブジェクト変数に参照情報を代入しておけば、

上図のように自動メンバー表示されますから。

また拙著『いちばんやさしいExcel VBAの教本』でも多用しているローカルウィンドウで、オブジェクト変数の中身を覗いておくことも、

おすすめします。
階層が深く辿るのがちょっと面倒ですが。

ChartArea.BorderではなくChartArea.Formatを使う理由

ネット上では、上述の
  cht.ChartArea.Format.Line.Visible = msoFalse
ではなく、
  cht.ChartArea.Border.LineStyle = False
といったコードを見かけることもあります。

確かに、ChartAreaオブジェクトのBorderプロパティでBorderオブジェクトを取得して、BorderオブジェクトのLineStyleプロパティでも、枠線を非表示にすることは可能です。

しかしChartAreaオブジェクトのBorderプロパティは、2007以降のExcelの場合、オブジェクトブラウザーでは非表示になっていますから、

階層は一段深くなりますけれど、Formatプロパティを使うほうがイイだろうと私は感じます。

アクティブシートの全グラフの枠線を消すサンプルマクロ

以下のSubプロシージャで、アクティブシートに存在するすべてのグラフで枠線を消せます。

Sub グラフエリアの枠線を非表示に_アクティブシート()
 Dim cho As ChartObject
 For Each cho in ActiveSheet.ChartObjects
  cho.Chart.ChartArea.Format.Line.Visible = msoFalse
 Next cho
End Sub

For Each~Nextループで処理するために、Chartオブジェクトの1つ上のChartObjectオブジェクトを使ったSubプロシージャにしています。

最終更新日時:2022-06-23 15:05

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » グラフの枠線を消す-ChartArea.Format.Line

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

検索


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

.