本文概述
- 直到… 循环语句
- 做… 直到循环语句
- 退出执行声明
“直到… ”循环语句检查循环开始时的条件, “直到… ”循环直到语句检查循环结束时的条件。
如果在循环开始时检查了条件, 则如果最初本身满足条件, 则代码块不会执行(并且循环甚至不会运行一次)。如果最后检查了条件, 则循环至少运行一次。
句法
直到… 循环语句
Do Until [Condition]..............................[Block of code]...............Loop
【VBA do until循环】流程图
文章图片
例
在此示例中, 我们使用Do Before … 循环在循环开始时检查条件。仅当条件为false时, 才执行循环内的语句。当条件为真时, 它存在于循环之外。
Private Sub Constant_demo_Click()i = 5Do Until i >
10i = i + 1MsgBox ("The value of i is : " &
i)LoopEnd Sub
执行代码后, 你将获得输出:
The value of i is: 6The value of i is: 7The value of i is: 8The value of i is: 9The value of i is: 10The value of i is: 11
做… 直到循环语句 Do … Until循环用于在循环结束时检查条件。
句法
Do............................[Block of code]..............Loop Until [Condition]
流程图
文章图片
例
在此示例中, 我们使用Do … Until循环在循环结束时检查条件。即使条件为true, 循环内的语句也至少执行一次。
Private Sub Constan_demo_Click()i = 5Doi = i + 1MsgBox "the value of i is: " &
iLoop Until i <
10End Sub
执行代码之后, 你将在消息框中获得以下输出。
文章图片
退出执行声明 你可以使用Exit Do语句提前退出“ Do While”或“ Do Before Loop”, 而无需完成整个周期。
Exit Do语句将立即停止执行循环并立即执行代码段。对于内部嵌套级别, 它将停止并执行下一个外部嵌套级别。
一个循环中可以有多个Exit Do语句。如果要在达到特定值或满足特定条件时终止循环, 或者要在特定点结束无穷循环, 则该功能特别有用。
例如:
Sub exitDo1()Dim i As IntegerDim iTotal As IntegeriTotal = 0Do While i <
10iTotal = i + iTotali = i + 1If i = ActiveSheet.Range("A1") ThenExit DoEnd IfLoopMsgBox iTotalEnd Sub
执行上面的代码, 你将获得以下输出。
文章图片