【Excel VBA】イミディエイトウィンドウの使い方

りゅう
こんにちは!りゅう(@ryupong_b)です。
今回は、デバッグ時に大活躍「イミディエイトウィンドウ」について解説していきます。
はじめに

今回はイミディエイトウィンドウについての解説です。
デバッグ時にかなり使う機能になりますので、ぜひ最後までお付き合いください。

この記事を読むメリット
  • イミディエイトウィンドウとは何か、出来ることを分かりやすく解説します。
  • 事前準備、設定方法についても解説します。

イミディエイトウィンドウとは

イミディエイトウィンドウとは、VBEの機能の一つです。
デバッグ時に変数の値やメソッドの戻り値などを参照することが出来ます。

イミディエイトウィンドウの表示設定

まずはVBE上にイミディエイトウィンドウをどうやって表示するかを解説します。
表示設定には、以下2パターンがあります。

Ctrl + Gを押下(ショートカットキー)

VBE上でCtrl + Gを押下すると、VBEの下あたりに表示されます。

表示設定の変更

VBEの上部 [表示]をクリックし、[イミディエイトウィンドウ]をクリックします。

イミディエイトウィンドウの使い方

イミディエイトウィンドウの具体的な使い方をご紹介します。

ログを表示する

コーディング時には、デバッグ用のログ表示をすることがあります。
デバッグ用のログは、以下のコードにて出力することが出来ます。

サンプルコード

サンプルコード
Debug.Print "ログ出力内容"

実行例

りゅう
上記では分かりやすく、単純な数字や文字をイミディエイトに表示させていますが、数値計測などによく使用します。
めい
時間計測のサンプルコードも掲載します。
計測前後に配置してみてね!

サンプルコード

サンプルコード
Debug.Print Now

変数に格納されている値を確認する

デバッグ中に変数の中身を見ることが出来ます。
以下のように、イミディエイトウィンドウに [?変数名]を入力をすると、変数の中身を確認できます。

サンプルコード


?変数名

実行例

以下の画像では、str変数に “VBA Hack”という文字列が代入されています。
この状態で ?変数名 を入力すると、“VBA Hack”が入っているという結果が返却されます。

もちろん、\その後 str変数が “VBA Hack見てね!”という文字列に変更になった場合、その都度 ?変数名を入力することで「現在の変数内容」が表示されます。

Functionプロシージャの戻り値を確認する

Functionプロシージャの戻り値も確認できます。

例を用いて解説します。
前提として、以下のようなFunctionプロシージャを用意しました。
数字であれば「数字です」、数字でなければ「数字ではありません」という文字列を返すプロシージャです。

サンプルコード
Private Function checkNumber(ByVal target As Variant)

    If IsNumeric(target) Then

        ' 数値の場合
        checkNumber = "数字です"
    Else

        ' 数値以外の場合 "2"を返却
        checkNumber = "数字ではありません。"
    End If
End Function

このプロシージャに、どういった値を渡せばどのような結果が返ってくるのかを、イミディエイトウィンドウで確かめることが出来ます。

例えば、プロシージャに 1という数字を渡してみましょう。
この場合は「数字です」という文字が返却されますね。

次はプロシージャに “ABC”という文字を渡してみましょう。
この場合、「数字ではありません」という文字が返却されました。

りゅう
このように、デバッグ中に色々試せるのが非常に便利ですね。

最後に

いかがでしたでしょうか。
本記事でご紹介した、イミディエイトウィンドウがあるとデバッグをしながらソースコードを書いて微修正をすることが出来て非常に便利です。

この記事が、読者さんのお力になれれば嬉しいです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA