
VBA(Visual Basic for Applications)での「反復(繰り返し処理)」にはいくつかの方法があります。以下に主な反復処理の方法とその使い方を簡潔に説明します。
🔁 VBAで使える反復構文(ループ)
1. For…Next ループ
決まった回数だけ繰り返したいときに使います。
Dim i As Integer
For i = 1 To 5
MsgBox "回数:" & i
Next i
2. For Each…Next ループ
コレクション(例:セルの範囲や配列)を順に処理したいときに使います。
Dim cell As Range
For Each cell In Range("A1:A5")
cell.Value = "反復中"
Next cell
3. Do While…Loop
条件が「True」の間、繰り返します(前判定)。
Dim i As Integer
i = 1
Do While i <= 5
MsgBox "回数:" & i
i = i + 1
Loop
4. Do Until…Loop
条件が「Trueになるまで」繰り返します(前判定)。
Dim i As Integer
i = 1
Do Until i > 5
MsgBox "回数:" & i
i = i + 1
Loop
5. Do…Loop While / Until
条件を後で判定したい場合(最低1回は必ず実行)
Dim i As Integer
i = 1
Do
MsgBox "回数:" & i
i = i + 1
Loop While i <= 5
🔒 無限ループを防ぐには?
ループ内で条件が変化しないと、無限ループになります。カウンターや条件を必ず変化させましょう。
🔄 Breakするには?
ループの途中で抜けたいときは Exit For
や Exit Do
を使います。
For i = 1 To 10
If i = 3 Then Exit For
MsgBox i
Next i