イミディエイトウィンドウについて

デバッグ時に重要なイミディエイトウィンドウの解説と使い方

イミディエイトウィンドウとはVBEのウィンドウの1つです
表示タブか「Ctrl+Gキー」で表示されます
デバッグ用の画面です

イミディエイト画面でコード実行
イミディエイトウィンドウでコードを実行する

このウィンドウでは、1行の処理を実行する事が出来ます
「MsgBox “”」
この1行をイミディエイトウィンドウの空白行にコピーして、入力カーソルをその行に置いてEnterキーを押すと処理が実行され空白のメッセージが表示されます
処理作成中にちょっとしたテストをしたい場合に使用できます

プロパティ値の取得

イミディエイトでプロパティを取得する
プロパティの取得
?ThisWorkbook.Name

上記のコードのように、行の先頭に「?」を入力してから、取得したいプロパティを入力してEnterキーを押すと、改行後に指定したプロパティ値が出力されます
変数名を指定すると、現在の変数のデータが出力されます
こちらもちょっとしたプロパティ確認に使用できます

プロシージャからイミディエイト画面に出力する
プロシージャからイミディエイトに出力する
Debug.Print ThisWorkbook.Name

プロシージャの実行中にイミディエイトウィンドウに出力することもできます

上記のコードをプロシージャ内にコピーして実行してください
すると、イミディエイトウィンドウにブック名が出力されます

こちらはデータの数が多かったり、データの履歴を確認したい時に使用します
メッセージボックスだと数が多いとめんどくさいし、履歴も残らないので

1行で複数のコードを実行

イミディエイト画面で複数処理を実行する
複数の処理を実行する

イミディエイト上でのコード実行で応用として、コードの1行の終わりに「:」を入力して2行目のコードを連結すると一括で処理が実行できます

画像の動きのように、2つの処理が実行されています

この使い方自体は、プロシージャの通常処理でも使用可能です
ただそれはコードの可読性を落とす可能性が高いので、やめといたほうがいいと思います

「Else : EndIf」など実際の処理は何もないような時ぐらいで抑えておきましょう

イミディエイト画面は非常に便利な機能なので有効に活用してください