スライドショー

【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

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。
Webアプリ、業務アプリ開発において、要件定義、設計、インフラ、製造、テスト、運用保守など、様々な経験あり。
また、侍ブログ編集部として、これまでに200記事以上の記事を執筆。
現在はフリーランスエンジニア兼テックライターとして活動中。