はじめに
VBAでマクロを作成している際、「ループ処理の途中で、変数の値がどう変化しているか確認したい」「この処理が本当に実行されているか知りたい」といった場面は頻繁に起こります。
MsgBox を使って変数の値を表示する方法もありますが、ループのたびにメッセージボックスが表示されてしまい、確認作業が大変です。
こんなときに絶大な威力を発揮するのが、VBE(VBAエディタ)の「イミディエイトウィンドウ」と、そこに文字を出力する Debug.Print という命令です。
この記事では、マクロの実行を妨げることなく、裏側でプログラムの動きを確認できる、VBAデバッグの必須テクニック Debug.Print の使い方を解説します。
Debug.Print の使い方
Debug.Print は、指定した値や変数の内容をイミディエイトウィンドウに書き出す、非常にシンプルな命令です。
1. イミディエイトウィンドウの表示
まず、VBEのメニューから「表示」→「イミディエイトウィンドウ」を選択するか、ショートカットキー Ctrl + G を押して、ウィンドウを表示させておきます。
2. サンプルコード
このマクロは、Forループを使って計算を5回繰り返し、各回のループカウンターの値と、計算結果をイミディエイトウィンドウに出力します。
' Debug.Printでループ内の変数の値を確認する
Sub CheckVariableWithDebugPrint()
Dim total As Long
Dim i As Long
total = 100
' ループ処理
For i = 1 To 5
' 計算処理
total = total + (i * 10)
'--- Debug.Printで、現在の変数の値をイミディエイトウィンドウに出力 ---
Debug.Print "ループ " & i & "回目 -> 合計値: " & total
Next i
Debug.Print "最終的な合計値: " & total
End Sub
3. 実行と結果の確認
上記マクロを実行すると、Excelの画面上では何も起こりませんが、VBEのイミディエイトウィンドウには、以下のように出力されます。
ループ 1回目 -> 合計値: 110
ループ 2回目 -> 合計値: 130
ループ 3回目 -> 合計値: 160
ループ 4回目 -> 合計値: 200
ループ 5回目 -> 合計値: 250
最終的な合計値: 250
コードの解説
Debug.Print "ループ " & i & "回目 -> 合計値: " & total
Debug.Print: この命令の後ろに記述した内容が、イミディエイトウィンドウに出力されます。&: 文字列連結演算子を使って、固定の文字列("ループ "など)と、変数(iやtotal)の値を連結し、一つの文字列として出力しています。
MsgBox とは異なり、Debug.Print はマクロの実行を一切中断しません。そのため、ループ処理のように何度も値を確認したい場合でも、処理の流れを妨げることなく、裏側で何が起きているかをリアルタイムに監視することができます。
まとめ
今回は、VBAのデバッグ作業に欠かせない Debug.Print とイミディエイトウィンドウの使い方を解説しました。
Ctrl + Gでイミディエイトウィンドウを表示する。Debug.Print 変数名や文字列で、マクロの実行を止めずに値を出力できる。
Debug.Print は、プログラムが意図通りに動作しているかを確認したり、バグの原因を突き止めたりする上で、最も基本的かつ強力なツールの一つです。複雑なマクロを作る際には、ぜひこのテクニックを活用して、効率的にデバッグ作業を進めてください。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
