使用
Do...迴圈
語句,以無限次數執行語
句
區塊。 當條件為
True
或條件變成
True
之前,語句會重複。
條件為 True 時重複語句
有兩種方式可以使用
While
關鍵字
來檢查
Do...Loop 語
句。 您可以在進入迴圈之前檢查條件,也可以在迴圈至少執行一次之後檢查它。
在下列
ChkFirstWhile
程式中,您會先檢查條件,再輸入 迴圈。 如果
myNum
設定為 9 而非 20,迴圈內的語句將永遠不會執行。 在程式中
ChkLastWhile
,迴圈內的語句只會在條件變成
False
之前執行一次。
Sub ChkFirstWhile()
counter = 0
myNum = 20
Do While myNum > 10
myNum = myNum - 1
counter = counter + 1
MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastWhile()
counter = 0
myNum = 9
myNum = myNum - 1
counter = counter + 1
Loop While myNum > 10
MsgBox "The loop made " & counter & " repetitions."
End Sub
重複語句,直到條件變成 True 為止
有兩種方式可以使用 Until 關鍵字來檢查 Do...Loop 語 句。 您可以先檢查條件,再輸入程式) 中所示的迴圈 (,或在 ChkFirstUntil
迴圈至少執行一次之後檢查 (,如程式) 所 ChkLastUntil
示。 當條件維持 為 False時,迴圈會繼續。
Sub ChkFirstUntil()
counter = 0
myNum = 20
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastUntil()
counter = 0
myNum = 1
myNum = myNum + 1
counter = counter + 1
Loop Until myNum = 10
MsgBox "The loop made " & counter & " repetitions."
End Sub
正在結束...迴圈內的迴圈語句
您可以結束執行 ... 使用 Exit Do 語句來迴圈。 例如,若要結束無限迴圈,請在 If... 的 True 語句區塊中使用ExitDo語句然後。。。Else語句或Select Case語句。 如果條件為 False,迴圈會如往常般執行。
在下列範例 myNum
中,會指派可建立無止盡迴圈的值。 If...然後。。。Else語句會檢查此條件,然後結束,防止無止盡的迴圈。
Sub ExitExample()
counter = 0
myNum = 9
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
If myNum < 10 Then Exit Do
MsgBox "The loop made " & counter & " repetitions."
End Sub
若要停止無止盡的迴圈,請按 ESC 或 CTRL+BREAK。
Visual Basic 概念主題
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。