和風スパゲティのレシピ

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

条件がTrueの間繰り返す - While Wend

条件がTrueの間処理を繰り返すには、通常Do While文を使用します。

よって別段使用する必要はありませんが、その他の方法として、
While~Wendステートメントを使用することもできます。

基本構文

While 条件式
    繰り返す処理
Wend

サンプルコード

Dim i As Long: i = 1

While i <= 5

    Debug.Print i ' 1, 2, 3, 4, 5までが表示される
    i = i + 1

Wend

解説

While~Wendステートメントは、
条件式がTrueの間、WhileからWendまでの処理を繰り返し実行します。

サンプルコードではiを1ずつ増やし、5を超えた時点で繰り返しを終了します。


While Wend文はDo While文と同じ挙動になるステートメントで、
以下のコードは全く同じ結果になります。

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

 

ただしWhile Wend文はDo While~Loopの下位互換と言ってよい構文で、
ループを途中で終了するExit Whileがありません。


While Wend文は旧バージョンとの互換性のために残っている機能のようで、
特段使う必要はありません。

基本的にはDo While~Loop文を使用しましょう。