一个Do...while循环用于只要条件为真就重复一组语句。该条件可以在循环开始时或循环结束时检查。

语法

以下是VBA中的一个Do...While循环的语法。

Do While condition
[statement ]
[statement ]
...
[statement n]
[Exit Do]
[statement ]
[statement ]
...
[statement n]
Loop

流程图

示例

以下示例使用Do...while循环来检查循环开始处的条件。循环内部的语句只有在条件成立时才被执行。

Private Sub Constant_demo_Click()
Do While i <
i = i +
msgbox "The value of i is : " & i
Loop
End Sub

当上面的代码被执行时,它会在消息框中输出下面的输出。

The value of i is : 

The value of i is : 

The value of i is : 

The value of i is : 

The value of i is : 

备用/替代语法

另外还有一个替代语句for...while循环,用于在循环结束时检查条件。下面的例子解释了这两种语法的主要区别。语法 -

Do
[statement ]
[statement ]
...
[statement n]
[Exit Do]
[statement ]
[statement ]
...
[statement n]
Loop While condition

示例

以下示例使用Do...while循环来检查循环结束时的条件。循环内的语句至少执行一次,即使条件为False。

Private Sub Constant_demo_Click()
i =
Do
i = i +
MsgBox "The value of i is : " & i
Loop While i < 'Condition is false.Hence loop is executed once.
End Sub

当上面的代码被执行时,它会在消息框中输出下面的输出。

VBA Do...While循环的更多相关文章

  1. VBA While Wend循环

    在While...Wend循环中,如果条件为True,则会执行所有语句,直到遇到Wend关键字. 如果条件为false,则退出循环,然后控件跳转到Wend关键字后面的下一个语句. 语法 以下是VBA中 ...

  2. VBA For Each循环

    For Each循环用于为数组或集合中的每个元素执行语句或一组语句.For Each循环与For循环类似; 然而,For Each循环是为数组或组中的每个元素执行的. 因此,这种类型的循环中将不存在步 ...

  3. VBA基础——循环语句

    VBA基础之循环语句 Sub s1() Dim rg As Range For Each rg In Range("a1:b7,d5:e9") If rg = "&quo ...

  4. VBA for循环

    for循环是一种重复控制结构,它允许开发人员有效地编写需要执行特定次数的循环. 语法 以下是VBA中for循环的语法. For counter = start To end [Step stepcou ...

  5. vba编程基础1

    在主要的编程语言中, 结构体是用大括号来表示 代码段的 范围 界定的. 但是在一些比较"老的"语言中,由于历史原因, 还是使用的 是: 关键字来进行界定代码 的 结构段, 如vba ...

  6. 删除重复的feature vba VS 删除重复的feature python

    VBA: Sub deleteDuplicatedFeature() Dim app As IApplication Set app = Application Dim pMxDocument As ...

  7. Excel VBA入门(四)流程控制2-循环控制

    所谓循环控制,即在循环执行一段代码,用于完成一些重复性任务. VBA中的循环控制语句主要有3种:for.while.loop.对于大多数人来说,for的使用频率最高,而我个人也觉得for是最为灵活的, ...

  8. Excel VBA基础教程

    https://www.w3cschool.cn/excelvba/excelvba-basics.html Excel VBA语言基础 VBA语言的基础认识 详解VBA编程是什么 excel处理录制 ...

  9. excel VBA把一个单元格内容按逗号拆分并依次替换到另一个单元格的括号里面(本题例子,把文本中的括号换成{答案}的格式,并按顺序填空)

    方法1:运用excel单元格拆分合并实现 思路:用VBA正则查询左侧括号个数,对右侧单元格逐一按逗号.顿号等符号分列,同时左侧按括号分列(分列只能按括号单边分列),分列完成后按要求合并,本题事例把括号 ...

随机推荐

  1. Spring Cloud微服务安全实战-1-1 课程导学

  2. Qt编写自定义控件62-探探雷达

    一.前言 随着移动互联网的盛行,现在手机APP大行其道,每个人的手机没有十几个APP都不好意思说自己是现代人,各种聊天.购物.直播.小视频等APP,有个陌生人社交的APP叫探探,本人用过几次,当然不是 ...

  3. 123457123457#0#-----com.tym.PuzzleGame28--前拼后广--日常pt-tym

    com.tym.PuzzleGame28--前拼后广--日常pt-tym

  4. 从零开始封装React UI 组件库并发布到NPM

    github 开源地址:zswui github 说明文档:wiki 1.新建目录wui (1)进入到 wui 目录 执行 npm init 命令初始化项目.更具提示信息填充将会生成的 package ...

  5. 简单明了的注解,读取CLASS中的注解

    /***********注解声明***************/ /** * 水果名称注解 * @author peida * */ @Target(ElementType.FIELD) @Reten ...

  6. 登录另一台linux主机并且执行相应的命令

    [root@bogon ~]# cat a.sh #!/bin/bash ssh root@192.168.0.98 'ls /root'

  7. 【Leetcode_easy】944. Delete Columns to Make Sorted

    problem 944. Delete Columns to Make Sorted 题意:其实题意很简单,但是题目的description给整糊涂啦...直接看题目标题即可理解. solution: ...

  8. 进程间通信之pipe

    实现数据传递 两个进程之间通信 多个进程之间通信,会导致数据不安全,需要加锁,示例 分类 无名管道:父子间进程通信 有名管道:父子间进程通信:任意两个进程之间通信 创建管道方法 os.mkfifo(p ...

  9. centos7.6 升级openssh openssl

    centos7.3和centos7.6升级完毕测试登录ssh以及重启后登录ssh均无问题. 前期请自行配置好yum源(如果不会请百度) 整个过程不需要卸载原先的openssl包和openssh的rpm ...

  10. 如何提高程序员的键盘使用效率(搬砖工人的自我修养(tucao))

    高软第一次作业 程序员使用键盘最常用的技能 搬运自:https://learnku.com/articles/22806    括号内为个人吐槽 1.尊重操作系统特性(如Mac OS的某些键位自定义设 ...