四时宝库

程序员的知识宝库

VBA:While循环(vba中while的用法)

本文内容

  1. 语法
  2. 备注
  3. 示例
  4. 另请参阅

重复语句块(当条件为“True” 时,或直到条件成为“True”时)。

语法

执行 [{ While | Until } 条件 ] [ 语句 ] [ Exit Do ] [ statements ] 循环

或者,您可以使用此语法:

Do [ 语句 ] [ Exit Do ] [ statements ] Loop [{ While | Until } condition ]

“执行循环”语句语法具有以下部件:

Part

说明

条件

可选。 为“True”或“False”的数值表达式或字符串表达式。 如果条件为 Null,那么条件将被视为“False”。

statements

当或直到条件为“True”时重复的一个或多个语句。

备注

任意数量的 Exit Do 语句可以放置在 Do 中的任意位置...循环 作为退出 Do...循环。 “Exit Do” 通常用于评估某些条件之后(例如“If…Then”),在这些条件下,“Exit Do”语句将控件转换成了紧跟“Loop”之后的语句。

当被用于嵌套的“Do…Loop”语句时,“Exit Do”将控件转换为了是发生“Exit Do” 的循环之上的嵌套级别的循环。

示例

此示例演示了如何使用“Do...Loop”语句。 内部 Do...循环语句循环 10 次,询问用户是否应继续运行,在选择“否”时将标志的值设置为 False,并使用 Exit Do 语句提前退出。 外部循环在检查该标志的值时立即退出。

VB复制

Public Sub LoopExample()
    Dim Check As Boolean, Counter As Long, Total As Long
    Check = True: Counter = 0: Total = 0 ' Initialize variables.
    Do ' Outer loop.
        Do While Counter < 20 ' Inner Loop
            Counter = Counter + 1 ' Increment Counter.
            If Counter Mod 10 = 0 Then ' Check in with the user on every multiple of 10.
                Check = (MsgBox("Keep going?", vbYesNo) = vbYes) ' Stop when user click's on No
                If Not Check Then Exit Do ' Exit inner loop.
            End If
        Loop
        Total = Total + Counter ' Exit Do Lands here.
        Counter = 0
    Loop Until Check = False ' Exit outer loop immediately.
    MsgBox "Counted to: " & Total
End Sub

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接