条件がTrueの間処理を繰り返すために使用する、
Do While~LoopステートメントとWhile~Wendステートメントの違いを解説します。
同じところ
どちらも条件がTrueの間処理を繰り返すループ文です。
以下のコードはどちらも全く同じ結果になります。
Dim i As Long: i = 1 While i <= 5 Debug.Print i ' 1, 2, 3, 4, 5までが表示される i = i + 1 Wend
Dim i As Long: i = 1 Do While i <= 5 Debug.Print i ' 1, 2, 3, 4, 5までが表示される i = i + 1 Loop
違うところ
Do While文には「Exit Do」が使用できますが、
While Wend文には「Exit While」が存在しません。
While Wend文にはループを途中で終了する機能がありませんので、
Do While文の下位互換と言ってしまってよい機能となります。
使い分け
常にDo While~Loop文を使用しておけばOKです。
While Wend文は旧バージョンとの互換性のために残っている機能であり、
特段使う必要はありません。