執行...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 的字串表達式。 如果 condition 是 Null,condition 會被視為 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 支援與意見反應。