Do While LoopとDo Until Loopの使い方と途中で抜ける方法:Access VBA入門

Do Loopとは繰り返して処理(ループ処理)を行うことができる命令で、WhileとUntilを使用する2種類の方法があります。

Whileを使うと、条件が真(True)の間、繰り返し処理を行います。

Untilを使うと、条件が真(True)になるまで、繰り返し処理を行います。

途中でループを抜けるには、Exit Doを使います。

構文:
Do While | Until 条件
 …
 [Exit Do]
Loop
BackHome BackVBA入門


● Do While Loopの使用例

変数iを+1する処理を、iが5より小さい間繰り返します。
変数iの値は、イミディエイトウィンドウに表示します。
イミディエイトウィンドウとは、変数や式の値を表示することができる機能で、デバッグに使用します。
Do While Loopの使用例
結果iは初期値の1から、5より小さい4まで繰り返し+1されているのが分かります。

Sub MyDoWhile()
    Dim i As Long
    
    i = 1
    Do While i < 5
        Debug.Print i
        i = i + 1
    Loop
End Sub

● Do Until Loopの使用例

上と同じ処理をUntilを使い実行します。
変数iを+1する処理を、iが5になるまで繰り返します。
Do Until Loopの使用例
結果iは初期値1から+1され、5になった時点で終了しています。

Sub MyDoUntil()
    Dim i As Long
    
    i = 1
    Do Until i = 5
        Debug.Print i
        i = i + 1
    Loop
End Sub

以上のようにDo Loopは先に条件を判定し実行します。
なので下のように、初期値が条件を満たしている場合、処理は1回も行われません。

Sub MyDoWhile()
    Dim i As Long
    
    i = 10
    Do While i < 5
        Debug.Print i
        i = i + 1
    Loop
End Sub

● Do Loopから途中で抜ける方法

途中で抜けるには、ループ内にExit Doを挿入します。
Do Loopから途中で抜ける方法

IF文を使い変数iが3になればループを抜けるようにしています。

Sub MyDoUntil()
    Dim i As Long
    
    i = 1
    Do Until i = 5
        Debug.Print i
        If i = 3 Then
            Exit Do
        End If
        i = i + 1
    Loop
End Sub

BackHome BackVBA入門

Copyright(C) FeedSoft