理系男子のIoTライフ

理系男子があなたの生活を少し「ラク」にする情報をお届けします。

スポンサーリンク

【Excel VBA】For文ループを抜ける方法と飛ばす方法

VBAでFor文で繰り返し制御を行っている最中に、特定条件でForループを抜ける方法とループを1回飛ばす方法をご紹介します。
f:id:rikei_iot:20180125141042j:plain



For文の基本構造

For文は For~Next構造 で使用します。


For カウント用変数 = 最初の値 To 最後の値
(繰り返し処理)
Next カウント用変数


サンプルとして1~10まで表示するプログラムを書くと、以下の通りです。

Dim i As Integer 'カウント用変数の定義

For i = 1 To 10 '1~10までループ
   Debug.Print(i) 'iを表示
Next i



For文を抜ける方法

For文を抜けるには Exit For を使用します。
以下サンプルでは i=3 の場合にForループを抜けます。

Dim i As Integer

For i = 1 To 10
   If i = 3 Then 'i が 3 になったら For を抜けます。
       Exit For
   End If

   Debug.Print (i)



For文を飛ばす方法

ループを1回飛ばして次のループに入りたい場合は GoTo 文を使用します。
以下サンプルでは、i=3の場合にFor文を飛ばしています。

Dim i As Integer

For i = 1 To 10
    If i = 3 Then
        GoTo Jump 'Jump行へ処理を飛ばします。
    End If
    
    Debug.Print (i) ' i が 3 の場合は飛ばします
    
Jump: 'GoTo Jump はこの行に飛びます。
Next




まとめ

VBAでFor文ループを抜ける方法と飛ばす方法の両方をご紹介しました。
VBAプログラム時の参考になればと思います。

押していただけるとブログ執筆の励みになりますので、ぜひお願い致します。