【ExcelVBA入門】VBAでデバッグするための方法とは?

皆さんは、VBAでデバッグする方法を知っていますか?

なんとなく聞いたことがあるけど詳しい使い方はよくわからない・・・という方も多いのではないでしょうか?

そこで今回は、

・デバッグとは

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

・Debug.Printを使ったシンプルなデバッグ方法

・ブレークポイントを使ったステップ実行方法

・合わせて覚えると便利なイミディエイトウィンドウの使い方

といった応用的な方法まで、徹底的に解説します!

デバッグとは

最初に、デバッグについて簡単に説明します。

処理のバグ・エラーなどを修正して、想定通りコードが動くようにしていく作業のことです。

デバッグ方法は大きく分けて2パターンあります。

  • 値をイミディエイトウィンドウに出力して動作を確認
  • 1行1行処理を動かして動作を確認

どちらも覚えておくと便利なのですが、わかりやすい方から説明してい行きますね。

デバッグ方法1:イミディエイトウィンドウに値を出力

最初は、イミディエイトウィンドウに値を出力して確認する方法です。

この方法が一番シンプル1行コードを書くだけなので、最初に覚えるのがおすすめです!

Debug.Print 値

でイミディエイトウィンドウに値を書き出すことができます。

値は文字列、数値、変数などが使えます。

たとえば、次のように変数に入れたメッセージを出力することもできます。

サンプルコード:

Sub Test()
  Dim strMessage As String
  strMessage = "ログ出力テスト"

  Debug.Print strMessage

End Sub

実行結果:

ログ出力テスト

変数の値をささっと確認することができるので、計算に使う変数はDebug.Printで確認しつつコーディングするのがおすすめです。

デバッグ方法2:ブレークポイントをはってステップ実行

次に、1行1行処理を確認しつつデバッグしていく方法について解説します!

ブレークポイントで処理を止めて1行ずつステップ実行することで、処理の動き、変数の値などを確認しつつ処理を修正することができます。

この説明だけではよくわからないと思うので、ブレークポイント、ステップ実行についてそれぞれ詳しく解説します。

ブレークポイントの貼り方

コードウィンドウ内の処理を止めたい行の一番左をクリックすると、ブレークポイントを付けることができます。

この処理だと、「Debug.Print strMessage」の処理で、イミディエイトウィンドウに値を出力する前に処理を止めることができます。

ステップ実行の使い方

ただ、1行ずつ処理を確認したいときにすべての行にブレークポイントを貼るのは大変ですよね。

そんな時に便利なのが、ステップ実行です。

ブレークポイントを貼った後、「デバッグタブ」→「ステップインまたはステップオーバー」を選択することで1行処理を進めることができます。

ステップインステップオーバーは、Sub・Functionを呼び出す処理の動きが違います。

・ステップイン  :Sub・Function処理の中の1行目に移動
・ステップオーバー:Sub・Function処理の中のにはいかず、次の1行目に移動

最初はどちらか1つだけでもいいので、覚えて使ってみると良いでしょう。

補足:合わせて覚えると便利な機能とは

デバッグは値の確認、処理の動きの確認をしていく作業ですが、値の確認だけでいうとイミディエイトウィンドウを使いこなすのがおすすめです!

今回はDebug.Printで出力する場所としてイミディエイトウィンドウを紹介しましたが、ブレークポイントで止めた後イミディエイトウィンドウを使って値を確認する方法や、既存の関数の動きを確認する方法など、覚えておくと便利な使い方が多いです。

以下記事で紹介しているので、気になる方はぜひ見てみてくださいね!

【ExcelVBA入門】デバッグに使うイミディエイトウィンドウとは?
更新日 : 2019年4月15日

まとめ

今回は、VBAでデバッグする方法について解説しました。

デバッグを覚えると、正確に速くVBAを書くことができるようになります。

「Debug.Printの使い方を覚える→慣れてきたらステップ実行を覚える」の流れがおすすめなので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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