執行...Loop 語句

當條件為 True 或條件變成 True 之前,重複語區塊。

語法

Do [{ While | Until } condition ] [ statements ] [ Exit Do ] [ statements ] Loop

或者,您可以使用下列語法:

Do [ statements ] [ Exit Do ] [ statements ] Loop [{ While | Until } condition ]

Do Loop 語句語法具有下列部分:

部分 描述
condition 選用。 數值表達式或為 True 或 False字串表達。 如果 conditionNullcondition 會被視為 False
陳述式 條件為 True 時或之前重複的一或多個語句。

註解

任何數量的 Exit Do 語 句都可以放在 Do...迴圈 做為結束 Do... 的替代方式迴圈。 在評估某些條件之後,通常會使用 Exit Do,例如 If...然後,在此情況下,Exit Do 語句會將控制權傳輸至緊接在迴圈後面的語句。

在巢狀檔內使用時 ...迴圈 語句 Exit Do 會將控件傳輸至迴圈,而迴圈是 結束 Do 發生所在迴圈的一個巢狀層級。

範例

此範例示範如何 ...迴圈語句 可以使用。 內部的 Do...迴圈語句迴圈 10 次,詢問使用者是否應該繼續執行,並在選取 [] 時將旗標的值設定為 False,然後使用 Exit Do 語句提前結束。 外部迴圈會在檢查旗標的值時立即結束。

Public Sub LoopExample()
    Dim Check As Boolean, Counter As Long, Total As Long
    Check = True: Counter = 0: Total = 0 ' Initialize variables.
    Do ' Outer loop.
        Do While Counter < 20 ' Inner Loop
            Counter = Counter + 1 ' Increment Counter.
            If Counter Mod 10 = 0 Then ' Check in with the user on every multiple of 10.
                Check = (MsgBox("Keep going?", vbYesNo) = vbYes) ' Stop when user click's on No
                If Not Check Then Exit Do ' Exit inner loop.
            End If
        Loop
        Total = Total + Counter ' Exit Do Lands here.
        Counter = 0
    Loop Until Check = False ' Exit outer loop immediately.
    MsgBox "Counted to: " & Total
End Sub

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應