Do...Loop


Do...Loopステートメント

構文

Do [{While | Until} condition]

[statements]

[Exit Do]

[statements]

Loop

または、

Do

[statements]

[Exit Do]

[statements]

Loop [{While | Until} condition]

WhileとUntilは、どちらか一方を指定します。

conditionには、ループを継続する判定式を指定します。

statementsには、ループ中で実行するステートメントを指定します。

解説

条件式を判定し、真の間だけまたは真になるまでステートメントを繰り返し実行します。

While conditionは、conditionが真の間だけ繰り返し、Until conditionでは、conditionが真になるまで繰り返します。

ループの途中でExit Doを使うと、強制的にループを抜けます。

サンプル

次の例は、変数aが100より小さい間だけa=a+1を実行します。次に、b=b+1を繰り返し変数bが55になったときループから強制的に抜けます。

Sub Sample()
    Dim a As Long, b As Long
    Do While a < 100
        a = a + 1
    Loop
    MsgBox a            '100を表示します
    Do Until b = 100
        b = b + 1
        If b = 55 Then Exit Do
    Loop
    MsgBox b            '55を表示します
End Sub