VBA do until循环

本文概述

  • 直到… 循环语句
  • 做… 直到循环语句
  • 退出执行声明
当我们想无限期地重复代码块或一组语句直到条件为True时, 才使用“直到循环”。可以在循环的开始或结束时检查条件。
“直到… ”循环语句检查循环开始时的条件, “直到… ”循环直到语句检查循环结束时的条件。
如果在循环开始时检查了条件, 则如果最初本身满足条件, 则代码块不会执行(并且循环甚至不会运行一次)。如果最后检查了条件, 则循环至少运行一次。
句法
直到… 循环语句
Do Until [Condition]..............................[Block of code]...............Loop

【VBA do until循环】流程图
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]

流程图
VBA do until循环

文章图片

在此示例中, 我们使用Do … Until循环在循环结束时检查条件。即使条件为true, 循环内的语句也至少执行一次。
Private Sub Constan_demo_Click()i = 5Doi = i + 1MsgBox "the value of i is: " & iLoop Until i < 10End Sub

执行代码之后, 你将在消息框中获得以下输出。
VBA do until循环

文章图片
退出执行声明 你可以使用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

执行上面的代码, 你将获得以下输出。
VBA do until循环

文章图片

    推荐阅读