Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » イミディエイトウィンドウでアクティブシートについて調べる?

イミディエイトウィンドウでアクティブシートについて調べる?

対象:Excel2010, Excel2013, Windows版Excel2016

イミディエイトウィンドウでアクティブシートについて調べる?

VBE(Visual Basic Editor)には、イミディエイトウィンドウ・ウォッチウィンドウ・ローカルウィンドウといった、デバッグ機能が用意されています。

このうちイミディエイトウィンドウこそが、最高の機能であるかのような誤解をしている方がいらっしゃいます。

イミディエイトウィンドウに出力できるのは文字列に変換可能なデータだけ

イミディエイトウィンドウを使えば、ウォッチウィンドウやローカルウィンドウでは、できないことができます。
逆にイミディエイトウィンドウでは、できないことだってあります。

例えば変数に代入されているデータを確認するときに、イミディエイトウィンドウを使う方も多いのでしょうけれど、イミディエイトウィンドウに出力できるのは文字列に変換できるデータだけであることを、決して忘れてはいけません。

文字列に変換できるデータには、もちろん数値データや日時データも含まれます。

[スポンサードリンク]

「vba イミディエイト アクティブシートの調べ方」
といった検索でインストラクターのネタ帳へのアクセスがありました。
この検索をなさった方も、イミディエイトウィンドウで、何でもできると思ってらっしゃる可能性があるのかもしれないと、私は想像しています。

イミディエイトウィンドウでアクティブシートについて調べる

「vba イミディエイト アクティブシートの調べ方」
と検索なさった方が、アクティブシートの何を調べたかったのかが、ポイントです。

アクティブシートの名前を調べたいのなら、イミディエイトウィンドウに
  ?activesheet.name
と入力して[Enter]です。

イミディエイトウィンドウでアクティブシートについて調べる?

アクティブシートのインデックス番号を調べたいのなら、イミディエイトウィンドウに
  ?activesheet.index
と入力して[Enter]です。

イミディエイトウィンドウでアクティブシートについて調べる?

このように、アクティブウィンドウの、文字列に変換可能な情報を確認するだけなら、イミディエイトウィンドウでもOKです。

ローカルウィンドウでアクティブシートを確認する

アクティブシートがどんなオブジェクトなのか、もっと知りたいのなら、イミディエイトウィンドウでは不可能です。

ローカルウィンドウを使いましょう。

ウォッチウィンドウでもOKですが、ウォッチウィンドウは最低でもローカルウィンドウを使えなければ使えませんから、まずはローカルウィンドウです。
Sub アクティブシートについて調べる()
 Dim sh As Object
 Set sh = ActiveSheet
 Stop
End Sub

上記のSubプロシージャを実行すると、Stopステートメントでステップ実行になりますから、メニュー[表示]-[ローカルウィンドウ]でローカルウィンドウを表示すると、下図のようにオブジェクト変数shにセットされた、アクティブシートを表すオブジェクトの中身をかなり確認できます。

イミディエイトウィンドウでアクティブシートについて調べる?

この中で、主に[式]欄に「+」記号のついている項目や、[値]列に「Nothing」と表示されている項目は、イミディエイトウィンドウで調べるには、相当に面倒です。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » イミディエイトウィンドウでアクティブシートについて調べる?

「Sheets・Worksheet」の記事一覧

検索


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