当条件为 True 时或条件变为 True 之前重复执行某语句块。
Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop
也可以使用下面的语法:
Do [statements] [Exit Do] [statements] Loop [{While | Until} condition]
Exit Do 仅可以用在 Do...Loop 控制语句中,提供另一种退出 Do...Loop 的方法。可以在 Do...Loop 语句中的任何位置放置任意个 Exit Do。Exit Do 通常与条件判断语句(如 If...Then )一起使用,将控制传递给紧随在 Loop 语句后面的语句。
当用于嵌套 Do...Loop 中的时候,Exit Do 将控制传递给其所在循环的上一层嵌套循环。
下面例子举例说明如何使用 Do...Loop 语句:
Do Until
DefResp = vbNo MyNum = Int (6 * Rnd + 1) ' 产生 1 到 6 之间的随机数。 DefResp = MsgBox (MyNum & " 想要另一个数吗?", vbYesNo) Loop Dim Check, Counter Check = True: Counter = 0 ' 初始化变量。Do
' 外层循环。Do While
Counter < 20 ' 内层循环。 Counter = Counter + 1 ' 增加计数器。 If Counter = 10 Then ' 如果条件为 True... Check = False ' 将标志值设置为 False。Exit Do
' 终止内层循环。 End If LoopLoop Until
Check = False ' 立即终止外层循环。