本篇将讲解我们编程里一个非常重要且常用的语法结构-循环,可能有一种情况,需要执行代码块多次,VBA 中,循环结构用于多次重复执行同一段代码。重复次数通过特定数字或特定条件控制。通过控制循环过程中特定变量,循环结构可执行复杂的重复任务。
循环结构的执行流程可简单的表示如下:

1. For循环
语法:
VBA的 for 循环的语法是:
For counter = start To end [Step stepcount]
[statement 1]
[statement 2]
....
[statement n]
[Exit For]
[statement 11]
[statement 22]
....
[statement n]
Next下面是控制 for 循环的流程:
For步骤首先执行。这一步可以初始化任何循环控制变量并递增步计数器变量。
其次,条件 condition 进行了计算。如果为true,则执行循环体。如果为 false,循环体不执行并且流程控制跳到刚刚For循环之后的下一条语句。
for 循环执行后,控制流跳转到 Next 下一条语句。此语句可以更新任何循环控制变量。它是基于步骤计数器的值进行更新。
条件现在重新评估。如果条件为 true,循环执行的过程重复(循环体,再增加一步,然后再条件)。之后如果条件为假,For循环终止。
示例 :

2. For Each
For Each 循环用于执行语句或一组为数组或集合的每个元素。
For Each 循环类似于For循环; 然而,该循环被执行用于在阵列或组的每个元素。因此,步进计数器将不会在这种类型的环的存在,它主要用于数组或用在文件系统对象的上下文,以递归方式运行。
语法
For Each element In Group
[statement 1]
[statement 2]
....
[statement n]
[Exit For]
[statement 11][statement 22]
Next
示例:

3. While..Wend
在 While..Wend 循环,如果条件为真,所有的语句执行,直到遇到 WEND 关键字。如果条件为假,则退出循环,控制跳到 WEND 关键字后的下一个语句。
语法:
VBA的 While..Wend 循环的语法是:
While condition(s)
[statements 1]
[statements 2]
...[statements n]
Wend
示例 :

4. do..while
do..while 循环使用当需要重复一组语句,只要条件为真。所述条件可在循环开始或在循环结束时进行检查。
语法:
VBA的 do..while 循环的语法是:
Do While condition
[statement 1]
[statement 2]
...
[statement n]
[Exit Do]
[statement 1]
[statement 2]
...[statement n]
Loop
示例:

5. Do..Until
Do..Until循环使用于当需要重复一组语句,直到条件为假。所述条件可在循环开始或在循环结束时进行检查。
语法:
VBA的Do..Until循环的语法是:
Do Until condition
[statement 1]
[statement 2]
...
[statement n]
[Exit Do]
[statement 1]
[statement 2]
...[statement n]
Loop
示例:

循环控制语句:
6. Exit For
Exit For 语句使用在需要依据一定的标准来退出For循环。当Exit For 被执行,控制系统就会马上跳到 For 循环后,下一条语句。
示例 :

7. Exit Do
Exit Do 语句用于当需要依据一定的标准来退出Do循环时。它可以在Do..While和Do..Until循环内使用。当执行 Exit Do,控制系统就会马上跳到Do循环后的下一条语句。
示例 :

关于VBA的循环介绍就到此结束,VBA 中程序循环结构基础知识,在实际的编程中经常用到,基础知识一定要打牢。




