Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBAのこと50】Stop で for loop を一時停止させて debugする

   f:id:tuna-kichi:20200223230814p:plain

 

For Loop で繰り返し処理を作成して、

いざ実行してみると途中でエラーになることがありませんか?

 

繰り返しの上限が100以内であれば

F8のステップ実行で、何とかエラーのある所まで到達できるかもしれません。

 

が、1000を超えるとそんなことやっていられません。

 

が、「Stop」 を使えば、指定した回数でループを一時停止させることができます。

 

 

記述としてはこれだけ。
これをFor Loop の中に入れてください。

If i = 12345 then Stop

Then の後に処理を記載すれば End If は不要

 

***************

サンプルマクロ

Sub StopでForLoopを一時停止()

    Dim r As Long
    
    For r = 1 To 10000
        If r = 53215 Then Stop 
        
        If Cells(r, 1) = "" Then
            Cells(r, 1).Interior.ColorIndex = 15

        End If
    Next r
    
End Sub

***************

 

これで実行すると、Stop のところが黄色に反転して一時停止します。

そこからF8でステップ実行で楽に該当箇所に到達できます。

 

エラーと思われる回数の1つ手前を指定して止めて、

そこからdebugしていくっていうのもよいかもしれません。

 

記述したままだと必ず一時停止してしまうので、

修正が完了したら削除するか

コメントにして残しておいても良いですね。

(私はたいてい残しています)

 

 

_/_/_/_/_/_/_/_/_/_/_/

 

 

 

個人用マクロブックについてはこちら

リボンに登録についてはこちら

_/_/_/_/_/_/_/_/_/_/_/_/_/_/

 

こちらもチェックしてみてください。

楽天人気商品6選!