本記事はマクロVBAのデバッグに便利な知識について説明します。
今回は「For Next」などの繰り返し処理のデバッグについてです。
For Nextの記事についてはこちらから☟
【マクロVBA知識 7】FOR…NEXTで指定した数値で繰り返し・ループ動作をする。 ► 独学エクセル塾 (dokugakuexcel.com)
繰り返し処理は繰り返す回数が多い場合はデバッグは不便ですよね。
F8を連打して実行するのも不便ですし、ブレークポイントを使用しても
処理するプログラム行は手動で実行しないといけません。
そこで今回は繰り返し処理で設定した変数・条件まで実行し、停止させる方法を紹介します。
それでは見ていきましょう。
■見本のプログラム
まず、本記事の内容を紹介するにあたり、見本のプログラムを用意しました。
下図をご覧ください。
3行目から25行目まである、B・C列の数値の和をE列に出力したいと思います。
見本でプログラムを作成しました。
Sub 数値1と2の和()
Dim A As Long
For A = 3 To 25 Step 1
Cells(A, 5) = Cells(A, 2) + Cells(A, 3)
Next AEnd Sub
では「F5」を押して全実行してみましょう。
結果はこのようになります。
狙い通り数値1と2を足すことができました。
では本題に移りたいと思います。
下図をご覧ください。
仮に15列目までは確認が取れており、15行目の位置で停止したいと思います。
ここで今回の記事の設定した変数・条件まで実行し、停止させる方法が必要になります。
では実際に見ていきましょう。
■ウォッチウインドウを活用する
では本題に移りたいと思います。
使用するのはウォッチウインドウになります。
・ウォッチウインドウを表示する
ウォッチウインドウを使用するにあたり、使用したことがない方もおられると思うので
ウォッチウインドウの表示方法を説明します。
まず「表示」のメニューを選択してください。
そこから「ウォッチウィンドウ」を押せばウォッチウィンドウを表示することができます。
すると下部にウォッチウィンドウが表示されます。
今回はこの部分を活用する内容です。
・ウォッチ式を追加する
では再度、内容を見ていきましょう。
Sub 数値1と2の和()
Dim A As Long
For A = 3 To 25 Step 1
Cells(A, 5) = Cells(A, 2) + Cells(A, 3)
Next AEnd Sub
では3行目から25行目まで計算するプログラムを16行目で止めてみましょう。
まずウォッチウインドウで右クリックを押します。
メニューに「ウォッチ式の追加」の項目があるので選択します。
すると下図のようなメニューが表示されます。
今回は15行目を計算した後に止めたいので
A=16になったときに停止します。
そこでウォッチ式の式を「A=16」に設定します。
ウォッチの種類を「式がTrueのときに中断」にします。
これにより「繰り返し変数のAが16になったタイミングで処理を停止」するという意味になります。
それでは実行してみましょう。結果はこのようになります。
狙いの停止位置で止まってくれました。
さらに別の方法も紹介します。
今回は15行目を計算した状態で止まってくれればいいので
「Cells(15,5)<>””」または「Range(“E15”) <> “”」を式として入力することで
E15が空白でなくなったら停止するように設定することも可能です。
⬛︎公式の説明
わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟
[ウォッチ] ウィンドウ | Microsoft Learn
■まとめ
いかがだったでしょうか。
ウォッチウインドウはデバッグ(動作確認)にとても役に立ちます。
ウォッチウインドウについてはこちらから☟
【マクロVBA知識 31】値が変化・設定した条件まで実行・停止!ウォッチウインドウの表示・使用方法 ► 独学エクセル塾 (dokugakuexcel.com)
でひ本内容を身に着けて、動作確認を効率よく実行してみてください。
それでは次回の記事でお会いしましょう。