VBA 中,循环结构用于多次重复执行同一段代码。重复次数通过特定数字或特定条件控制。 通过控制循环过程中特定变量,循环结构可执行复杂的重复任务。 循环结构的执行流程可简单的表示如下: VBA 循环结构类型VBA 中循环结构有 3 种类型,它们是:
下面分别介绍 3 种类型循环结构语法以及用法。 For 循环For 循环是最常用的循环类型,它有两种形式:
For … Next 循环使用
For [变量] = [初始值] To [结束值] Step [步长]'这里是循环执行的语句Next 其中:
下面看一个实际的例子,求 1 至 10 数字的累积和。 Sub MyCode()Dim i As IntegerDim sum As Integer For i = 1 To 10 Step 1sum = sum + iNextEnd Sub 可以看到,For 循环使用 值得注意的是,For 循环的 Step 值如果是 1,则 Step 关键词可省略。上述过程循环部分可写成如下方式: For i = 1 To 10sum = sum + iNext For Each 循环
For Each 循环不需要一个数字变量,但是需要与数据集合中的元素相同的数据类型变量。其基本语法如下: For Each [元素] In [元素集合]'循环执行的代码Next [元素] 其中,
下面看一个实际例子,循环打印出工作簿中所有工作表的名称。 Sub MyCode()Dim sh As Worksheet For Each sh In Worksheets
Debug.Print sh.NameNext shEnd Sub
Exit For 语句
看一个实际的例子,求 1 – 10 数字的和时,当和大于 30 就停止循环。 Sub MyCode()Dim i As IntegerDim sum As Integer For i = 1 To 10 sum = sum + i If sum > 30 ThenExit ForEnd IfNextEnd Sub 在这段代码中, Do While 循环
Do While … Loop 循环Do While … Loop 循环,根据 While 关键词后的条件表达式的值,真时执行,假时停止执行。基本语法如下: Do While [条件表达式]'循环执行的代码Loop 其中,只要 看一个实际的例子,还是求 1- 10 累积和。 Sub MyCode()Dim i As IntegerDim sum As Integer i = 1Do While i <= 10sum = sum + i i = i + 1LoopEnd Sub
这里为了演示使用了 Do … Loop While 循环与上一种 Do 循环不同的是, Do'循环执行的代码Loop While [条件表达式] 其中,While 和条件表达式写在 Loop 关键词后。 Exit Do 语句与 Do Until 循环
Do Until 循环也有两种形式:
Do Until … Loop 循环循环开始前判断 Do Until [条件表达式]'循环执行的代码Loop Do … Loop Until 循环先运行一次,再判断 Do'循环执行的代码Loop Until [条件表达式] 其他使用方法与 总结本篇文章我们学习了 VBA 中程序循环结构基础,以及多种循环结构形式。包括子类在内,VBA 中常使用的循环结构包括 6 种,它们是:
此外,学习了两种跳出循环的语句,它们是:
|
|