和風スパゲティのレシピ

日本語でコーディングするExcelVBA

Do While~Loop と While~Wend の違い

条件が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文は旧バージョンとの互換性のために残っている機能であり、
特段使う必要はありません。