VBA:For~Nextで繰り返し・ループ処理
For~Next はループ処理を行う際に用いられます。繰り返す回数が決まっている場合はこのForを、決まっていない場合はDo~LoopやFor Eachを使用します。
Forの基本構文
For 変数 = 初期値 To 終了値
繰り返し回数までの処理
Next
'Sheet1 のA1~A5 に 変数iを記入'
For i = 1 To 5
Worksheets("Sheet1").Cells(i, 1).Value = i
Next
'-5から10まで+1づつしながら15回ループします。'
For i = -5 To 10
Worksheets("Sheet1").Cells(i+10, 1).Value = i
Next
For文のループを抜ける Exit For
For文の途中でループを抜けたい場合は Exit For を使用します。
' ループは5回指定していますが、3回目でループは終了します。'
For i = 1 To 5
If i = 3 Then Exit For
Worksheets("Sheet1").Cells(i, 1).Value = i
Next
For文で 1~10まで繰り返す実行結果
For文を用いたプログラムと結果のサンプルです。1~10まで繰り返し、iをセルに出力します。
ループ処理(For)+条件分岐(If)で偶数のみ出力
Private Sub CommandButton1_Click()
Dim i As Integer '整数の変数を定義'
For i = 1 To 30 'iを0から30までループ処理'
If i Mod 2 = 0 Then '条件を偶数の時のみ'
Cells(i, 1).Value = i 'iをセルに書き出す'
End If
Next i
End Sub
For文のSTEPを用いたサンプルソースと実行結果
rivate Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 10 Step 2 'iは+2づつ増えて合計5回ループします。'
Cells(i, 1).Value = i 'iをセルに書き出す'
Next i
End Sub