Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ActiveChartでChartを取得できたか確認する

ActiveChartでChartを取得できたか確認する

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

「activechart グラフの有無判定」
といった検索キーワードに気が付きました。

ActiveChartプロパティを使ってグラフを表すChartオブジェクトを取得する際に、

オブジェクトブラウザー:Excel.Global.ActiveChart

ちゃんとグラフが選択されているかどうか判定・確認するには、どうすればいいのかを探していらしたのでしょうか。

[スポンサードリンク]

ActiveChartでグラフが選択されているか確認するサンプル

以下のSubプロシージャが参考になるでしょう。

Sub ActiveChartの確認()
 Dim cht As Chart
 Set cht = ActiveChart

 If cht Is Nothing Then
  MsgBox "グラフは選択されていません。"
 Else
  MsgBox "グラフが選択されています!"
 End If
End Sub

Chart型に限らず、オブジェクト変数の初期値はNothingです。

オブジェクト変数が初期値Nothingのままであるならば、ActiveChartプロパティの戻り値を代入する

Set cht = ActiveChart

でChartオブジェクトを取得できなかった、すなわちグラフが選択されていなかった、と判定できます。

ローカルウィンドウでオブジェクト変数を確認しよう

拙著『いちばんやさしいExcel VBAの教本』でも多用しているローカルウィンドウを使って、オブジェクト変数を確認しておきましょう。

メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示した状態で、上記Subプロシージャをショートカットキー[F8]でステップ実行し始めると、オブジェクト変数初期値Nothingを確認できます。

ローカルウィンドウ:オブジェクト変数の初期状態

[F8]でステップ実行を継続して、もしもグラフが選択されていれば、

Set cht = ActiveChart

の実行後にNothingではなくなり、変数名の前に[+]が表示され、下図のようにオブジェクト変数の中身を見られるようになります。

ローカルウィンドウ:ActiveChartでChartを取得した状態

最終更新日時:2021-09-29 12;55

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ActiveChartでChartを取得できたか確認する

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » ActiveChartでChartを取得できたか確認する

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

検索


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

.