Do WhileやDo Untilなどのループ内で、特定の条件が成立したときに強制的にループを抜けたい場合には、Exit Do
を使います。
Exit Do
をうまく活用することで、無駄な処理を省き、効率的なコードが書けるようになります。
目次
1. Exit Doとは?
Do ~ Loop
構文の中で使える命令で、ループ中に指定した条件を満たした時点で即座にループを終了します。
2. 基本構文と使用例
例:数値が見つかったらループを終了する
Dim i As Integer
Dim numbers(1 To 5) As Integer
'配列に値を代入
For i = 1 To 5
numbers(i) = i * 2
Next i
'8が見つかるまでループ
i = 1
Do While i <= 5
If numbers(i) = 8 Then
MsgBox "見つかりました!"
Exit Do '条件成立 → ループ終了
End If
i = i + 1
Loop
3. Exit Doの使いどころ
✅ 検索処理で条件一致時に終了したいとき
大量データの中から1つだけ探したいときなど、条件に一致した時点で処理を終了したいときに便利です。
✅ 無限ループの脱出手段として使う
例えば Do While True
のような無限ループを書いた場合でも、Exit Do
を使って条件に応じてループを制御できます。
Do While True
inputValue = InputBox("終了するには 'end' と入力してください")
If inputValue = "end" Then
Exit Do
End If
Loop
4. Exit DoとExit Forの違い
構文 | 対応するループ構造 |
---|---|
Exit Do | Do While / Do Until |
Exit For | For / For Each |
使うループに合わせて、適切な「Exit ~」を選びましょう。
5. まとめ
Exit Do
を活用することで、ループの柔軟な制御が可能になります。
特に、条件一致でループを中断したいときや、無限ループに安全装置を設けたいときに役立ちます。
処理の流れを整理しながら、読みやすく効率的なコードを書くために、ぜひ活用してみてください。
コメント