【Excel VBA】For文ループを抜ける方法と飛ばす方法
こちらのWebサイトは移転しました。
VBAでFor文で繰り返し制御を行っている最中に、特定条件でForループを抜ける方法とループを1回飛ばす方法をご紹介します。
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