VBA for 途中終了 抜ける

VBA【Forの途中で抜ける】サクッと解説【初心者向け】繰り返し処理を極める

VBAのFor構文で繰り返し処理を実行中に途中で抜ける方法を紹介します。

For~Next実行中に途中終了するのは、とっても簡単です。

使用した実用例をサンプルコードを元に解説します。

For実行中に途中終了してVBAの処理速度をあげましょう。(微々たるものですが・・・)

For文の基礎はこちらで解説しています。

マクロで繰り返し処理【For Next】文の基本と応用

◆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マクロでできることをおさらい

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です