VBA【Forの途中で抜ける】サクッと解説【初心者向け】繰り返し処理を極める
VBAのFor構文で繰り返し処理を実行中に途中で抜ける方法を紹介します。
For~Next実行中に途中終了するのは、とっても簡単です。
使用した実用例をサンプルコードを元に解説します。
For実行中に途中終了してVBAの処理速度をあげましょう。(微々たるものですが・・・)
For文の基礎はこちらで解説しています。
◆For文を途中終了する方法
・VBAコード
For i = 1 To 100
'・
'・
Exit For
'・
'・
Next i
・説明
VBAでFor構文を使用して、途中抜けする方法は、「Exit For」と記述するだけです。
当然ですが、For~Nextの間に「Exit For」と記述してくださいね。
他のプログラミング言語だと「Break」が多いですが、VBAでは違います。
「Exit For」ですので、お間違え無くしてください。
◆途中終了する実用例
・空白セルを検索
'●空白セルを検索
For i = 1 To 100
If Cells(i, 1) = "" Then
r = i
Exit For
End If
Next i
上記コードは、A列に1行目から、空白セルの行を[変数:r]に格納しています。
空白が見つかった時点で、Forによる繰り返し処理は、必要ないので
「Exit For」を使用して、Forを抜けています。
・最終データ行を検索
'●最終データ行を検索
For i = 1 To 100
If Cells(i, 1) = "" Then
r = i - 1
Exit For
End If
Next i
上記コードは、A列に1行目から、値が入力されているセルの行を[変数:r]に格納しています。
空白セルを検索するサンプルコードの応用で、空白行を「-1」しているだけです。
こちらも、空白セルがあった時点で、Forによる繰り返し処理は、不要になります。
なので「Exit For」を使用して、Forを抜けています。
◆まとめ
これを読んでも解決できない方、なにか不明点がある場合は
コメントして頂くか、こちらからお問い合わせしてください。
◆「あなたへ」のおすすめリンク
マクロを高速化したいあなたへ~VBA高速化の常識~
Excelマクロでできることをおさらい