処理を繰り返したい回数や範囲が決まっている場合はFor…Nextステートメントを使用します。処理が行われるたびに変数に増減値が加算され、この値が終了値になる(または超える)まで処理が繰り返されます。”Step”は省略可能で、省略した場合、増減値は+1となります。
Forループサンプル
“Step”を省略したForループ使用例です。1から10まで1ずつカウントアップされます。
実行結果はイミディエイトウィンドウに表示されるので、事前に表示させておいてください。
Sub sample5_4()
Dim i As Integer
For i = 1 To 10
Debug.Print "i = " & i
Next i
End Sub
“Step”を指定した使用例です。
Sub sample5_5()
Dim i As Integer
For i = 1 To 10 Step 2
Debug.Print "i = " & i
Next i
End Sub
“Step”の増減値にマイナスの値を指定した使用例
※[開始値]>[終了値]となるように指定する必要があります。
Sub sample5_6()
Dim i As Integer
For i = 10 To 1 Step -3
Debug.Print "i = " & i
Next i
End Sub
Forループを途中で終了する
For…Next ステートメントを途中で終了したい場合は Exit For ステートメントを使用します。Exit For ステートメントが呼ばれると、それを囲っている一番内側の For…Next の繰り返しを直ちに抜け出し、次の処理へ移ります。
Sub sample5_4_2()
Dim i As Integer
For i = 1 To 10
Debug.Print "i = " & i
If i = 5 Then
Debug.Print "ループ終了!!"
Exit For
Debug.Print "このメッセージは表示されません。"
End If
Next i
Debug.Print "For…Nextの次の処理に移ります。"
End Sub