VBATips

ForループはNextを通過した際にカウンタ加算される

ForループはNextを通過した際にカウンタ加算する

初心者の時に勘違いしてしまう仕様です。
・ループを回り切ったらiの数字はどうなるのか?
・ループを途中で抜けたらどうなるのか?
間違ってたり悩んでたりするケースがあります。

Public Sub sample()
    
    '■iは最終的に11になる(Nextを通ったらカウントアップする)
    For i = 1 To 10
        Debug.Print i '1,2,3,4,5,6,7,8,9,10が順次表示
    Next
    Debug.Print i '11 Nextを通ったためカウントアップされた
    
    
    '■ループを途中で抜けたら、iは抜けた際の値を保持
    For i = 1 To 10
        Debug.Print i '1,2,3,4,5
        If i = 5 Then Exit For
    Next
    Debug.Print i '5 最後にNextを通らない為、カウントアップされない
    

End Sub

関連記事

 

コメント

タイトルとURLをコピーしました