Do...Loop,中文意思:循环。
语句
语法1
当条件为 True 时或条件变为 True 之前重复执行某语句块。
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
语法2
也可以使用下面的语法:
Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
参数
condition
数值或字符串
表达式,其值为 True 或 False。如果 condition 为 Null,则 condition 被当作 False。
statements
当 condition 为 True 时被重复执行的一条或多条命令。
说明
概要
Exit Do 仅可以用在 Do...Loop
控制语句中,提供另一种退出 Do...Loop 的方法。可以在 Do...Loop 语句中的任何位置放置任意个 Exit Do。Exit Do 通常与条件判断语句(如 If...Then )一起使用,将控制传递给紧随在 Loop 语句后面的语句。
当用于
嵌套 Do...Loop 中的时候,Exit Do 将控制传递给其所在循环的上一层
嵌套循环。
下面例子举例说明如何使用 Do...Loop 语句:
举例1
Do Until DefResp = vbNo
MyNum = Int (6 * Rnd + 1) ' 产生 1 到 6 之间的
随机数。
举例2
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
Loop
Loop Until Check = False ' 立即终止外层循环。
举例三
msgbox test
do while test=3
与
do until test=3
loop
所表示的意思不同。
第一个表示 while语句 当用户输入的条件为3时执行
死循环。输入其他数字时不执行死循环
第二个语句表示 只有当条件不为3的时候才执行死循环。就是说test=3时不执行死循环。但输入其他数字就执行死循环。
总结:
until是排除条件。不否和条件的,才执行命令。