📜  VBA循环

📅  最后修改于: 2021-01-11 14:14:14             🧑  作者: Mango

VBA循环

在某些情况下,您需要多次执行一个代码块。通常,语句以预定义的顺序执行。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句使您可以多次执行一个语句或一组语句。为了充分利用Excel和VBA,首先要知道如何有效使用循环。下图是VBA中循环语句的一般形式。

例如:考虑一个数据集,您想突出显示偶数行中的所有单元格。您可以使用VBA循环遍历范围并分析每个单元格的行号。如果它变成偶数,则为它赋予颜色。否则,您将其保留原样。

VBA提供了不同类型的循环来处理循环需求。下面是每个循环的简要介绍,例如:

1. For循环:它多次执行了一系列语句,并压缩了管理循环变量的代码。

For循环使用一个变量,该变量循环经过指定范围内的一系列值。然后,对VBA中的每个值执行循环内的代码。

For i = 1 to 20
Total = Total + iArray(i)  
Next i

上面的For循环将变量i设置为具有值1、2、3,…,20,并且对于这些值中的每一个,都要通过循环内的VBA代码运行。因此,循环将数组iArray的每个成员添加到变量中。

2. For Each循环:如果组中至少存在一个元素并且针对组中的每个元素进行迭代,则它将执行代码块。

例如:让我们列出当前excel工作簿中的每个工作表。

For Each object_variable In group_object_variable
........
........
[Block of code]
........
Next object_variable

3. Do While循环:只要条件为True,则执行;否则,仅当情况为False时,才应重复循环。

The do...While loop statement 
Do 
........
........
[Block of code]
........
Loop while (condition)

4.做直到循环:只要条件为False就会执行,或者仅在情况为True时才重复循环。

The Do...Until loop statement 
Do
........
........
[Block of code]
Loop Until [condition]

循环控制语句

循环控制语句可以从正常顺序更改执行。当执行离开作用域时,将不执行循环中的所有其余语句。

VBA支持以下控制语句。

  • 退出for语句:它终止For循环语句,并将执行转移到循环之后无关紧要的语句。
  • 退出do语句:它终止do-while语句并将执行立即转移到循环之后的语句。