VBE(Visual Basic Editor)には、イミディエイトウィンドウ・ウォッチウィンドウ・ローカルウィンドウといった、デバッグ機能が用意されています。
このうちイミディエイトウィンドウこそが、最高の機能であるかのような誤解をしている方がいらっしゃいます。
イミディエイトウィンドウに出力できるのは文字列に変換可能なデータだけ
イミディエイトウィンドウを使えば、ウォッチウィンドウやローカルウィンドウでは、できないことができます。
逆にイミディエイトウィンドウでは、できないことだってあります。
例えば変数に代入されているデータを確認するときに、イミディエイトウィンドウを使う方も多いのでしょうけれど、イミディエイトウィンドウに出力できるのは文字列に変換できるデータだけであることを、決して忘れてはいけません。
文字列に変換できるデータには、もちろん数値データや日時データも含まれます。
「vba イミディエイト アクティブシートの調べ方」
といった検索でインストラクターのネタ帳へのアクセスがありました。
この検索をなさった方も、イミディエイトウィンドウで、何でもできると思ってらっしゃる可能性があるのかもしれないと、私は想像しています。
イミディエイトウィンドウでアクティブシートについて調べる
「vba イミディエイト アクティブシートの調べ方」
と検索なさった方が、アクティブシートの何を調べたかったのかが、ポイントです。
アクティブシートの名前を調べたいのなら、イミディエイトウィンドウに
?activesheet.name
と入力して[Enter]です。
アクティブシートのインデックス番号を調べたいのなら、イミディエイトウィンドウに
?activesheet.index
と入力して[Enter]です。
このように、アクティブウィンドウの、文字列に変換可能な情報を確認するだけなら、イミディエイトウィンドウでもOKです。
ローカルウィンドウでアクティブシートを確認する
アクティブシートがどんなオブジェクトなのか、もっと知りたいのなら、イミディエイトウィンドウでは不可能です。
ローカルウィンドウを使いましょう。
ウォッチウィンドウでもOKですが、ウォッチウィンドウは最低でもローカルウィンドウを使えなければ使えませんから、まずはローカルウィンドウです。Dim sh As Object
Set sh = ActiveSheet
Stop
End Sub
上記のSubプロシージャを実行すると、Stopステートメントでステップ実行になりますから、メニュー[表示]-[ローカルウィンドウ]でローカルウィンドウを表示すると、下図のようにオブジェクト変数shにセットされた、アクティブシートを表すオブジェクトの中身をかなり確認できます。
この中で、主に[式]欄に「+」記号のついている項目や、[値]列に「Nothing」と表示されている項目は、イミディエイトウィンドウで調べるには、相当に面倒です。
- Newer:条件付き書式設定済みのセルを目立たせるExcelマクロ
- Older:30ページは20ページの1.5倍ではない
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » イミディエイトウィンドウでアクティブシートについて調べる?