ラピードアクト株式会社

技術記事:ExcelVBAで仕事を効率化しようVol.5

みなさんこんにちは。
ITソリューション事業部の林です。

VBA技術記事、第5回です。
今回以降は、VBAのさまざまなテクニックやコードを紹介していきます。
学習レベルに関係なく参考になる記事にできるよう努力しますので、よろしくお願いします。

本記事では「イミディエイトウィンドウの活用」について解説いたします。

【目次】

  1. イミディエイトウインドウとは
  2. 演算結果や文字列を出力
  3. 関数の結果を出力
  4. オブジェクトのプロパティを表示
  5. True/False判定結果を表示
  6. プロシージャを呼び出す
  7. プロシージャ中断時に変数の値を出力

それでは、始めていきましょう!

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

イミディエイトウインドウはエディタに備わっています。
以下の赤枠部分がそれです。

このウインドウが表示されていない場合は、
・Ctrlキー + Gキーを押す
・ツールバーの[表示] - [イミディエイトウインドウ]をクリック
のどちらかで表示できます。

イミディエイト(immediate)の訳は「すぐに、即座に」です。
このウインドウはその名の通り、コードをその場で即実行できます。

コード実行方法は簡単で、先頭にクエスチョンマーク、その後ろにコードを書くと、値が出力されます。

演算結果や文字列を出力

四則演算や文字列結合の結果を出力します。
電卓代わりにも使用できますので意外と便利です。

関数の結果を出力

関数の返す値をウインドウに表示します。
関数の動作確認をしたいときに使用してみましょう。

また、値を返さない関数も実行できます。
この場合はクエスチョンマークは付けません。

オブジェクトのプロパティを表示

たとえば、現在開いているブックの格納先、ワークシートの総数、アクティブセルの列番号や背景色などを調べることができます。
?Activecell.Column」はExcelシートの列番号を調べられますので、使用頻度は高め
です

True/False判定結果を表示

比較演算子を用いてTrue/False判定できます。
たとえば、「本日は西暦2020年であるか」を判定するには以下のように書きます。

プロシージャを呼び出す

Callステートメント、またはプロシージャ名を入力することで、プロシージャを実行できます。
存在しないプロシージャ呼び出そうとするとエラーになりますので注意
しましょう

プロシージャ中断時に変数の値を出力

プロシージャが中断している状態から、変数の値を表示します。
ローカルウインドウからでも確認できますが、大量の変数を定義している場合などは、イミディエイトウインドウで確認した方が速いこともあります。

終わりに

イミディエイトウインドウの活用は、少々マイナーなテクニックになります。
マイナーですが、こういったちょっとしたテクニックを活用するかしないかで、マクロの開発効率は変わってきます。
マクロ開発の際は、イミディエイトウインドウ、そしてクエスチョンマークを使ってみてください。

それでは、また次回お会いしましょう!