'Do [{While | Until} 表达式]
'[执行的一条或多条语句]
'[Exit Do]
'[执行的一条或多条语句]
'Loop
'---------------------------------------------------------------------------------
'while:当这个条件为True时就 循环
'until:直到这个条件为True时就 跳出循环
'---------------------------------------------------------------------------------
'或者可以使用下面这种语法:
'Do
'[执行的一条或多条语句]
'[Exit Do]
'[执行的一条或多条语句]
'Loop [{While | Until}表达式]
'---------------------------------------------------------------------------------
'用Do…Loop循环要注意的几点:
'1. While与Until是放在Do后面还是Loop后面,取决于是先判断再循环,还是先循环再判断。前者则在Do后面,后者则在Loop后面。
'2. 可以在Do...Loop中的任何位置放置任意个数的 Exit Do 语句,随时跳出 Do...Loop 循环。
'3. Do...Loop + If...Then + Exit Do 通常结合使用.
'4. 如果 Exit Do 使用在嵌套的 Do...Loop 语句中,则 Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。
'---------------------------------------------------------------------------------
Sub Test()
Dim a%
Do
a = a + 1
If a > 5 Then
MsgBox a & "终于大于5"
Exit Do
End If
Loop
End Sub
Sub Test2() '注意这是一个死循环,按F8运行(中止死循环:ctrl+暂停键)
Do
b = b + 1
Do
a = a + 1
If a > 3 Then MsgBox "即将跳出内层循环": Exit Do
Loop
MsgBox "即将进行外层循环"
Loop
End Sub