Do...Loop 語句
當(dāng)條件為 True 時或條件變?yōu)?True 之前重復(fù)執(zhí)行某語句塊。
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
也可以使用下面的語法:
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
參數(shù)
condition
數(shù)值或字符串表達(dá)式,其值為 True 或 False。如果 condition 為 Null,則 condition 被當(dāng)作 False。
statements
當(dāng) condition 為 True 時被重復(fù)執(zhí)行的一條或多條命令。
說明
Exit Do 僅可以用在 Do...Loop 控制語句中,提供另一種退出 Do...Loop 的方法??梢栽?Do...Loop 語句中的任何位置放置任意個 Exit Do。Exit Do 通常與條件判斷語句(如 If...Then )一起使用,將控制傳遞給緊隨在 Loop 語句后面的語句。
當(dāng)用于嵌套 Do...Loop 中的時候,Exit Do 將控制傳遞給其所在循環(huán)的上一層嵌套循環(huán)。
下面例子舉例說明如何使用 Do...Loop 語句:
Do Until DefResp = vbNo MyNum = Int (6 * Rnd + 1)
'
產(chǎn)生 1
到 6
之間的隨機(jī)數(shù)。 DefResp = MsgBox (MyNum "
想要另一個數(shù)嗎?", vbYesNo)
Loop
Dim Check, Counter
Check = True: Counter = 0
'
初始化變量。Do
'
外層循環(huán)。 Do While Counter 20
'
內(nèi)層循環(huán)。 Counter = Counter + 1
'
增加計數(shù)器。 If Counter = 10 Then
'
如果條件為 True...
Check = False
'
將標(biāo)志值設(shè)置為 False
。 Exit Do
'
終止內(nèi)層循環(huán)。 End If
Loop
Loop Until Check = False
'
立即終止外層循環(huán)。