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
関連記事
- 空白セルまでループ処理させる【DoLoop】
- For文でcontinueしたい(途中処理をスキップしたい)
- For文を途中で抜ける(ループを途中で終了させる)【break】【Exit】
- ループ処理を可変で行う【よく使う】
- ループ中に条件を満たす列の列削除を行う
- ループ中に条件を満たす 特定行の行削除を行う
コメント