twitter facebook

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
AUTHOR
@take
最終更新日 2018/09/18
FAVORITE good stock
LINK TAG
記法を見る