【VBA】初心者が最初に覚えるべき、Debug.Printの使い方!

こんな人向けの記事
  • Debug.Printがわからない人
  • 自分の書いたVBAのどこが間違っているのかわからない人
  • VBAを学び始めた人
Kaito

このDebug.PrintはVBAを学び始めた人が一番最初に覚えるべきコードのひとつです!Debug.Printを覚えると自分の書いたVBAの答え合わせができるようになります。

前のSTEP

Contents (目次)

Debug.Printとは?

結論、自分が書いたVBAの変数や値を表示させることによって、思い通りの値が取得できているかを確認したり、Bugを見つけ出すためのものになっています。DebugとPrintはもともと下記のような意味です。

Debug = コンピュータのプログラムの誤り(=バグ)を見つけ、手直しをすること。デバッギング。虫取り。(引用元:Oxford Languages)Print = 表示を合わせたものです。

Debug.Printを使用するためには、下記のようにDebug.Printの後に何を表示させたいのかを記述する必要があります。

Debug.Print xxxxxxx '←ここのxxxxxxxに表示させたい変数を記載する

(実例-1) Debug.Print

ひとつ前の記事の下記コードを例にしてみましょう。

Sub test1 ()
  Dim nomimono as String 'nomimonoを文字列として定義
  nomimono = "cola" 'nomimonoという変数にcolaを代入
    Debug.Print nomimono 'nomimonoという変数にcolaがちゃんと入っているか確認する
End Sub

成功例:変数がちゃんと定義されておりcolaと返事がくる

失敗例:nomimonoのスペルをnominomoにミスした

人間っぽくするとこんな感じ、、、

Kaito

マクロ君、nomimonoって変数の中に僕何入れたっけ?(VBA:Debug.Print nomimono)

Robo

Kaitoさん、nomimonoの中はcolaっす!(VBA:cola)

(実例-2) Debug.Print

For~Nextという繰り返し処理がしっかり動作をしているか確認していきましょう。

Sub test2()
    Dim i
    For i = 1 To 10 ' 1回から10回まで以下の処理を繰り替えす
            Debug.Print i '意図してる通りに動いているかテスト
    Next i
End Sub

成功例:For~Nextの処理を10回行う。変数「i」は何回目の処理化をカウントしてイミディエイトウィンドウに表示させている。

人間っぽくするとこんな感じ、、、

Kaito

マクロ君、1から10まで繰り返ししてひとつ終わる毎に僕に教えてくれない?

Robo

Kaitoさん、了解っす!

え~っと、1回終わって、2回終わって、3回終わって…(省略)…、10回終わりました!どうでしょう?!

Debug.Printの重要性

上記のようなシンプルなVBAでしたら、特にDebug.Printを使用しなくてもすぐに記述が誤っている箇所や上手くいっていない箇所を発見できるのですが、これからVBAの勉強が進んでくるにつれてVBAが複雑になっていくため、意図した通りに動かない場合はどこでBugが起きているのかをDebug.Printを使用して確認していく必要があります。

使用例
  • For~Nextといった繰り返し処理を行っている際に意図した繰り返し処理をしているのか
  • If条件分岐を入れた際にちゃんと分岐されているのか
  • WEBクローラーを作成した際には参照したセレクタからデータが引っ張ってこれているのか

など上手くいかない箇所があれば常にこのDebug.Printを使用して動作確認をしていきます。

また、Debug.Printは、VBAの間違いを見つける以外にも、記述したコードをひとつひとつ確認して組み立てていくときにも頻繁に使用します。

VBEの詳しい使い方を覚える

Debug.Printがわかったら次に、Debug.Printを効率良く活用するために初心者が覚えるべきVBE(エディター)の設定や簡単な使い方を学んでいきましょう!

イミディエイトウィンドウの表示設定やステップイン、ブレークポイントなど初心者が覚えるべきVBEの機能を簡単に説明していきます。

次のSTEP
 | Website

小売販売員からキャリアをスタートし日系&外資系大手企業と3度の転職を成功させ、超大手外資系IT企業でデジタルマーケティング関連職に従事。WEBコンサルティング会社を起業し、マーケットプレイスを中心とした業務代行とコンサルティング、業務効率化のソフトウェア販売を行っています。
保有資格:3級FP技能士、2種証券外務員、ITパスポート、GAIQ、Goole広告各種プロフェッショナル認定資格