ループ処理の途中からステップ実行するために、IfとStopを使う方法と、ウォッチウィンドウを使う方法をご紹介しました。
ループ処理の最初のほうや途中をすべて実行する必要がないのならば、拙著『いちばんやさしいExcel VBAの教本』で多用しているローカルウィンドウで、カウンター変数の値を変更するという方法も使えます。
ローカルウィンドウで変数の値変更を確認するSubプロシージャ
以下のSubプロシージャで、Sub sample()
Sheets.Add Before:=Sheets(1)
Dim i As Long
For i = 1 To 100
Cells(i, "A").Select
Cells(i, "A").Value = i
Next i
End Sub
ローカルウィンドウで、カウンター変数iの値を変更する様子を紹介します。
ローカルウィンドウで変数の値を変更する様子
メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示した状態で、ステップ実行を開始します。
もちろんFor~Nextループ内に処理が入れば、カウンター変数iの値は1ずつ加算されていきます。
例えば、カウンター変数iが「2」になったところで、ローカルウィンドウの[値]欄をクリックして数値を反転させて、
「98」とキーボードから手入力すれば、カウンター変数iの値をいきなり「98」に変更できてしまいます。
もちろんこの「98」は「For i = To 100」の最後のほうというだけで「97」でも「96」でも構いません。
ローカルウィンドウで変数の値を変更した後の様子
この状態からステップ実行を再開すれば、
ループ処理の途中を飛ばした最後のほう、カウンター変数「98」以降の挙動を確認できます。
(ループ処理の途中の状態が影響するような処理の場合この方法は使えませんけれど)ただFor~Nextループ処理の最後のほうだけを確認したいという場合には、結構便利ではないかと思います。
最終更新日時:2019-09-21 05:39
Home » いちばんやさしいExcel VBAの教本 » ローカルウィンドウで変数の値を変更してループ処理最後のほうをステップ実行