【ExcelVBA入門】デバッグに使うイミディエイトウィンドウとは?

こんにちは! フリーランスエンジニア兼ライターのワキザカ サンシロウです!

突然ですが皆さんは、ExcelVBAを書いたことがありますか?

マクロの記録で少し使ってみたり、ネットで調べてコピペで動かしてみたけどそれ以上のことがなかなかできない・・・という人も多いのでは?

そこで今回は、

・マクロとExcelVBAの違いとは?

といった基礎的なことから、

・デバックとは?

・なぜデバッグが必要なのか?

・イミディエイトウィンドウの使い方とは?

といった応用的なことも含め、徹底的に解説します!

マクロとExcelVBAの違いとは?

まず最初に、マクロとExcelVBAの違いについて簡単に説明します。

マクロとは、Excelで実現したい操作をまとめた機能のことです。

その機能を実現するための操作手順をソースコードで書いたものが、ExcelVBAです。

例えば、『データ一覧シートのデータを利用して、請求書を自動で作成する機能』のようなマクロを作ることができます。

この場合、「データ絞り込み」、「コピー」、「印刷」のような具体的な操作をExcelVBAで書くことで、マクロを作ることができます。

今回は、ExcelVBAの基礎的な書き方は省いていますので、ExcelVBAの初歩について知りたい方はこちらを見てみてくださいね!

VBAとは?マクロとは?初心者向けにわかりやすくExcelVBAなどを解説
更新日 : 2019年5月3日
ExcelVBA入門者必見!おすすめの入門サイトを5つまとめました!
更新日 : 2019年6月25日

なぜデバッグが必要なのか?

では、ExcelVBAを理解して書くために必要なデバッグについて簡単に説明します。

デバッグとは、エラーの原因を調べて機能が動くように直していく作業のことです。

「あれ?ネットで書いてある通りコピペして実行しているのに動かないぞ?なんでだろう・・・」

といった場合に、原因を調べながらなおしていく作業ですね。

ただ、エラーの原因を調べて自力で解決するのは、結構大変です。

原因を調べるといっても、ネットの情報は書いている人の環境によって内容がバラバラだったりしますし、そもそも情報が少ないといったケースも多いです。

エラー原因を調べて対処してたら1日終わってしまった・・・

とならないためにも、魔法のツール、イミディエイトウィンドウについてご紹介します。

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

まずはじめに、イミディエイトウィンドウでできることについて説明します!

イミディエイトウィンドウでできることは主に次の二つです。

  • ネットで調べた関数や、値の計算処理、変数の値などを確認できる
  • 作った関数を実行したり、戻り値を確認できる

書いたVBAのコードが正しく動いているか確認するときに使えるため、とても便利な機能ですね。

イミディエイトウィンドウの開き方

それではまずはじめに、イミディエイトウィンドウの開き方について説明します。

1. Excelの開発タブからVisual Basicを選択または、Alt + F11でVBEを開きます。
0

2. 表示タブからイミディエイトウィンドウを選択します。
1

3. 画面の下に、イミディエイトウィンドウのエリアが表示されます。
※画像では背景が黒になっていますが、通常は白です。
2

これでイミディエイトウィンドウを使う準備が完了です。

値の確認方法について

では早速、値の確認方法について解説します!

計算した結果を確認する

まずは、基本的なところから。

足し算、引き算、掛け算、割り算などの計算結果を確認することができます。

? + 「計算式」』を入力し、Enterキーを押すことで結果を確認することができます。

といった使い方ですね。

また、数値だけでなくセルの値を使って計算した結果なども確認することができます。

A1セルに1、A2セルに2を入力していた場合、次のように確認することもできます。

になります。

関数の結果を確認する

ExcelVBAを書いていると、ExcelVBAの関数を使うケースがよくあります。

例えば、左から指定した数分文字列を取ってくるLeft関数があります。

このような場合でも、次のように入力することで確認することができます。

難しい関数を使う場合は、最初にイミディエイトウィンドウで正しい結果が出るか確認してから使うといいかもしれませんね。

プロパティの値を確認する

Excelには便利なプロパティがたくさんあります。

たとえば、ファイルを保存する機能を作りたい場合、今開いているExcelと同じフォルダパスを知りたいケースがあります。

thisworkbook.Path」で取得できるのですが、これだけでは実際に何が入っているのかはよくわからないですよね。

そんな時でも、

のように、値を確認することができます。

ネットで調べた情報をそのまま使うのではなく、値を確認してから使うと安心ですよね。

変数の値を確認する

変数の値も確認することができます。

VBAのコード上で、

を入力して実行することでイミディエイトウィンドウに値を表示することができます。

また、少し応用になりますが、デバッグ実行してブレークポイントで止めたときにも、変数の値を確認することができます。

例えば次のように確認することができます。

VBAの関数

YearMonthの行でブレークポイントを張って処理を止めたあとの、イミディエイトウィンドウでの結果確認

このように、変数の値を途中で確認することができます。

この例では処理がシンプルですが、複雑な計算をした結果を変数に入れて、その変数を別の計算に使うような処理が複雑な場合に、途中で値が確認できると便利ですよね。

作成した関数の動作確認方法について

よく使う処理は、関数として作成する場合があると思います。

こちらは、『引数の単価、数量をかけた結果を返す関数』なのですが、この関数の結果を確認したい場合は次のように計算結果を確認することができます。

また、Subで関数を作った場合は、

で処理を実行することができます。

イミディエイトウィンドウでどちらも実行できると覚えておけば、確認も簡単にできるのでお勧めです!

まとめ

今回は、ExcelVBAの効率的なデバッグ方法であるイミディエイトウィンドウに特化して解説しました!

ExcelVBAで作業を自動化できれば、時間を創りだすことができます。

空いた時間は、自分の勉強や、ほかの仕事を終わらせる時間として活用できると思います。

ぜひ、チャレンジしてみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説