第一句子大全,网罗天下好句子,好文章尽在本站!

VBA中重复操作的神器 Do……Loop循环语句 你值得拥有它

时间:2011-12-11

Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与君携手共进!在

友情提示:本文共有 1814 个字,阅读大概需要 4 分钟。

Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与君携手共进!

在上一个章节中我们已经学习集合的循环和数字的循环,那么有时候我们并不知道我们要具体循环的次数,这个时候For—Next循环就无能为力啦!其实我们还有一种循环可以胜任这个,他就是我们本文要说的Do----Loop循环,这个循环其实在我们其他的编程语言中均有应用。一起来了解一下他。

Do...Loop,顾名思义,他的中文意思就是循环的意思,这个非常好理解。这个循环有两种实现方式,即只要或者直到某个条件为真,它们就会重复一系列的语句。只要条件为真,Do…While循环就允许你重复某个操作。这2个循环的语法如下:

需要我们注意的事情是,当操作VBA时候,一旦遇到这个循环时,它首先会判断条件的真假与否,如果判断的条件为假,那么在循环内部的语句就不会被执行,VBA将继续执行关键字Loop后面的第一条语句。相反如果条件为真,循环里面的语句则会被一条一条地执行,直到遇到Loop语句。Loop语句会告诉VBA重复这个过程,只要Do语句里的条件为真的话,他就会一直执行下去。

好啦,已经说了如此之多,我们现在来看看是如何在Excel中间使用Do…While循环语句。相信我们在前面的章节里,已经学习了如何根据一个单元格的内容来判断。现在让我们再进一步,看看如何使用DO循环语句在一系列单元格上作同样的决定。

下面例子举例说明如何使用 Do...Loop 语句:

例1:如果我们一直不点击取消按键,那么这个程序就会一直执行下去。可是一旦我们选择了VBno了,那么将会终止执行DO循环。

例2:如下是我们的第二个例子,使用了2个DO循环嵌套,当我们里面的循环计数器一旦为10的话,那么就会退出内循环。

例3:如下2个代码看似是相同的,但是他们所要表达的意思是完全不同。

第一个使用了while语句,假如输入的条件为3时执行死循环。输入其他数字时不执行死循环。

第二个语句表示 只有当条件不为3的时候才执行死循环。就是说test=3时不执行死循环。但输入其他数字就执行死循环。

总结:until 是排除条件。不否和条件的,才执行命令;while 是只执行条件。只有满足才执行命令。

PS: Exit Do 仅可以用在 Do...Loop 循环语句中,提供另一种退出 Do...Loop 的方法。可以在 Do...Loop 语句中的任何位置放置任意个 Exit Do。Exit Do 通常与条件判断语句(如 If...Then )一起使用,将控制传递给紧随在 Loop 语句后面的语句。当用于嵌套 Do...Loop 中的时候,Exit Do 将控制传递给其所在循环的上一层嵌套循环。

说到这里,我们在VBA使用的常用循环已经基本介绍完毕,那么什么是循环?其实循环是一种导致一部分程序代码重复执行的编程结构。如下几种循环,相信你已经有所了解了,在今后的应用和学习,将会频繁的用到他们。

Do…While, Do…Until, For…Next, For…Each, and While…Wend

PS:Do…While循环还有另外一种语法,你可以在循环的底部测试条件,例如:

注意,在条件被测试之时,VBA至少已经执行了一次循环里的语句。除了将条件放在循环之后外,过程SignIn示范如何使用条件跳出循环。当Exit Do语句执行时,循环便立即停止。

我们在使用DO循环的时候,请千万注意不要让循环变成无限循环,即我们常常说的死循环,会直接造成Excel奔溃的。如果你没有正确地设计你的循环,你将导致一无限循环——永无休止的循环。你将无法使用Esc键来停止该循环。在下面的过程里,因为用户忘了放置测试条件而导致了永无休止的循环:如下是一个简单的死循环,有兴趣的小伙伴们可以试试看。

PS:当你遇到死循环的话,你可以试着按下Ctrl+Break键或者Esc键,当VBA显示信息“代码执行被中断”时,点击结束以退出过程;如果按下以后没有反应的话,就说明已经无法使用按键停止了。

好啦!快乐的时间总是非常短暂的,又到了和大家说再见的时候,如果大家感觉本文如果对你有所帮助的话,请帮忙转发点赞,谢谢您能观看到现在,我们下期再见!

我是Excel教案,关注我持续分享更多的Excel技巧!

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

本文如果对你有帮助,请点赞收藏《VBA中重复操作的神器 Do……Loop循环语句 你值得拥有它》,同时在此感谢原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
结构化查询语言SQL在VBA中几种常见的查询表达方式

结构化查询语言SQL在VBA中几种常见的查询表达方式

...,语文+数学+英语 AS 总成绩 from员工信息"2 使用DISTINCT删除重复记录例如:在“员工信息”表中有重复记录,如果希望若干重复的记录只显示一条,可以使用DISTINCT进行限定。strSQL = "Select distinct * from 员工信息"例如:数据库中员工...

2017-01-24 #经典句子

ReDim语句的应用

ReDim语句的应用

...自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了七部VBA专门教程。第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识...

2023-11-30 #经典句子

用Select Case语句对分段税率进行精确计算

用Select Case语句对分段税率进行精确计算

...自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了七部VBA专门教程。第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识...

2023-06-15 #经典句子

Goto语句无条件转移语句 一个让你欢喜堪忧的处理神器

Goto语句无条件转移语句 一个让你欢喜堪忧的处理神器

Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与君携手共进!在上一个章节中我们说到循环嵌套的使用方法,相信经过一段的时间...

2023-10-20 #经典句子

Excel VBA编程中必会的三大执行语句

Excel VBA编程中必会的三大执行语句

...结束标志。所谓循环语句,指的就是在程序中满足条件就重复执行某部分代码,不满足条件就退出循环执行其他代码。循环语句的使用能够简化我们大量重复操作的步骤,从而减少代码的书写量。For 变量名=初始值 to 结束值执行...

2023-06-07 #经典句子

VBA数组函数 差值的取得以及利用FileCopy语句复制文件

VBA数组函数 差值的取得以及利用FileCopy语句复制文件

...中内容。NO.176-NO.177容是:NO. 180:在VBA中split和join对数组操作NO. 181:在VBA中查找数组的差集NO. 182:在VBA中使用FileCopy语句复制文件VBA过程代码180:在VBA中split和join对数组操作 Sub mynz()Dim arr, myst As Stringmyst = "A-REW-E-RWC-2-RWC"arr = Spli...

2024-01-07 #经典句子

判断文件是否到了结尾 VBA编程技巧 函数讲解

判断文件是否到了结尾 VBA编程技巧 函数讲解

No.1vba编程中也有对非Excel文件进行操作的一些功能,特别是对文本文件的操作。其中的函数和语句比较多,全面掌握也相对较难。本着简单的操作方法,这里介绍一些文件的打开、读取、和写入操作方法。本节介绍EOF函数,这是...

2023-10-27 #经典句子

即使我英语不好 也想给你分享这款国外的PPT插件 尝尝鲜?

即使我英语不好 也想给你分享这款国外的PPT插件 尝尝鲜?

...文推荐过 3 款国内的 PPT 插件,每一款是功能强大的效率神器,如果错过了,可以回头翻翻看:PPT效率神器,这款人人赞爆的插件,开发者五年后终于出了新作强烈安利:小顽简报,一款高效实用的PPT新插件想用PPT管理素材灵感...

2018-06-05 #经典句子