要点まとめ
Excel VBAでは、繰り返し処理(ループ)を途中でやめたいときに Exit文 を使います。代表的なのは Exit Do と Exit For で、条件を満たしたらすぐループを抜けて次の処理へ進めます。
Exit文の種類
- Exit Do : Do~Loop の繰り返しを途中で終了
- Exit For : For~Next の繰り返しを途中で終了
- (他にも Exit Sub, Exit Function, Exit Property があるが、別ページで解説)
Exit Do の使い方
- Do While~Loop の中で条件を満たしたら
Exit Doを書く - すると、その場でループを抜けて次の処理へ進む
- ネスト(入れ子)になっている場合は、内側のループだけ終了する
例
Do While Cells(rowno, 1).Value <> ""
sum = sum + Cells(rowno, 2).Value
If sum > 200 Then Exit Do
rowno = rowno + 1
Loop
VB→ 合計が200を超えたらループを終了する。
Exit For の使い方
- For~Next の中で条件を満たしたら
Exit Forを書く - すると、その場でループを抜けて次の処理へ進む
- ネストしている場合は、内側のループだけ終了する
例
For i = 1 To 8
num = Int(10 * Rnd + 1)
If num = 7 Then
Debug.Print "当選"
Exit For
End If
Next i
VB→ 乱数で「7」が出たらループを終了する。
ポイント
- Exit文は「条件を満たしたらすぐ抜ける」ための便利な仕組み
- 条件式だけでループを制御するより、コードがすっきり読みやすくなる
- ネストした場合は「内側のループだけ終了」することを覚えておくと混乱しない
初心者の方は「ループを途中で止めたいときは Exit Do / Exit For を使う」と覚えておけば十分です。慣れてきたら、条件式だけで書く方法と比べてみると理解が深まります。
