こんにちは。ホームスタッフサービスのM田です。
弊社でやっている仕事や勉強の中から、些細なことから発信していこうと思っています。
その第一弾は、イミディエイトウィンドウです。

イミディエイトウィンドウを使わないとソンです。

「開発」タブの中の「マクロの記録」から始まることが多いマクロの作成ですが、機能がどんどん増えていくごとにVBAでの開発の必要が出てきます。イミディエイトウィンドウはVBAでの開発の効率を上げてくれます。特に初学者は「使わないとソン」です。

VBAでの開発で「ちょっと困った」に役立ちます。

VBAで開発していると「ちょっと困った」で立ち止まることが多々あります。

  • Webで見つけた実装例が果たして自分の開発にも適用できるの?
  • エラーなく実行できてるけど結果がおかしい。ループの中でどうなってるの?

私は主にAccessとExcelでVBAを触ることが多いのですが、イミディエイトウィンドウのおかげで困ったことを前進突破できたことが何度もあります。「イミディエイトウィンドウがあるのでVBAは好き」と言っても過言ではないくらいです。

イミディエイトウィンドウの表示のさせ方

※クリックで大きな画像が開きます

まずはなんでも良いのでVBAの画面を開きましょう。「表示」>「イミディエイトウィンドウ」で表示できます。標準状態だと右下に表示されますね。境界線をドラッグしてサイズを変えることもできます。

 

イミディエイトウィンドウでできること

イミディエイトウィンドウでは、特に次の2点ができることが便利です。

ちょっとお試ししてみる

例えば次のように関数の結果をちょっとお試ししてみる。下の例だと「Replace関数」と「StrConv関数」の結果を確認しています。

最後の「?(変数名)」で、その変数の中に入っている内容を表示させています。実装するときに使用方法で「あれ?」と思ったときに、プログラムを走らせてみることなく気軽に確かめてみることができます。

Debug.Printで状態表示

イミディエイトウィンドウはループの中で変数の状態を表示させる出力欄として使えます。下の例は「1からnまでの整数の合計を返すFunction」です。ループの途中の様子をDebug.Printでイミディエイトウィンドウに表示させています。

これは簡単な例ですが、もっと複雑なループのなかで「なにか結果がおかしい。途中の状態を観察したい」ときには有効です。

イミディエイトウィンドウで開発を楽にしましょう

開発のシーンでは「『ちょっと試してみる』ができる」ことが、特に初学者には重要だと私は思っています。VBAはイミディエイトウィンドウでちょっと試してみることができる、これは学習ひいては実践の大きなアドバンテージだと思っています。
イミディエイトウィンドウをどんどん試していただいて、VBAでの開発を楽にしましょう。