如果无法预先获悉操作要循环的次数,但是知道在什么情况下开始或停止循环,那么可以使用Do Loop循环结构。Do Loop循环结构分为Do While和Do Until两种形式,下面将分别对这两种形式进行介绍。
一、Do While循环
Do While用于不知道要循环的次数,但是知道在什么条件下开始循环的情况。当条件为True时执行循环,条件为False时终止循环。Do While分为以下两种形式。
形式一:
Do While 要检测的条件
条件成立时执行的代码
Loop
形式二:
Do
条件成立时执行的代码
Loop While 要检测的条件
Do While两种形式的区别在于在循环开始之前,是否先对条件进行一次判断。
案例1:使用Do While结构
下面两段代码检测用户输入的用户名是否是“Admin”,如果不是则会重新显示输入对话框,如果是则显示欢迎信息。两段代码实现的功能相同,但写法不同。
如果希望在满足指定条件时退出Do While循环,可以使用Exit Do语句。
案例2:使用Exit Do退出循环
在上面的案例中,只有输入Admin(大小写形式均可)才会退出循环,即使单击对话框中的“取消”按钮也无法退出循环。正常情况下应该允许用户在单击“取消”按钮时关闭对话框并退出程序,因此应该在Do While循环中加入检测InputBox函数的返回值是否为空的判断条件,如果返回值为空,则使用Exit Do语句退出Do While循环。
提示:如果在对话框中未输入任何内容并单击“确定”按钮,也会执行Exit Do语句退出循环。
二、Do Until循环
Do Until用于不知道要循环的次数,但是知道在什么条件下停止循环的情况。当条件为False时执行循环,条件为True时终止循环。Do Until分为以下两种形式:
形式一:
Do Until 要检测的条件
条件不成立时执行的代码
Loop
形式二:
Do
条件不成立时执行的代码
Loop Until 要检测的条件
Do Until两种形式的区别在于在循环开始之前,是否先对条件进行一次判断。
案例3:使用Do Until结构
下面的两段代码是对前面介绍的Do While结构的两个案例的修改版,这里使用了Do Until结构。
与在Do While结构中使用Exit Do语句的作用类似,也可以使用Exit Do语句在满足指定条件时退出Do Until循环,这里不再赘述。
评论前必须登录!
注册