For…Next 语句

将一组语句重复执行指定次数。

语法

For counter=start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

参数:

  • Counter:用作循环计数器的数字变量。该变量不能是数组元素或用户定义类型的元素。

  • Start:计数器的初始值。

  • End:计数器的最终值。

  • Step:每次通过循环时计数器的变化量。如果未指定,则 step 默认为一。

  • Statements:For 和 Next 之间执行指定次数的一个或多个语句。

注释

step 参数可以为正,也可以为负。step 参数的值决定循环处理,如下所示:

Table 11-33 循环执行

循环的执行条件
正或 0 counter <= end
counter >= end

一旦循环开始并且循环中的所有语句都执行完毕,step 就被添加到 counter 中。此时,要么再次执行循环中的语句(基于导致循环最初执行的同一测试),要么退出循环,然后继续执行 Next 语句后面的语句。

Note:

在循环内更改 counter 的值可能会使代码的读取和调试变得更加困难。

Exit For 只能在 For Each...NextFor...Next 控制结构中使用,以提供替代退出方式。可以将任意数量的 Exit For 语句放置在循环中的任何位置。Exit For 通常与某些条件的求值(例如 If...Then)一起使用,并会将控制权转移到紧跟在 Next 之后的语句。

可以通过将一个 For...Next 循环放在另一个循环中来嵌套 For...Next 循环。为每个循环指定一个唯一的变量名称作为其 counter。以下结构是正确的:

示例 1:

For I = 1 To 10
      For J = 1 To 10
            For K = 1 To 10
            Next 
     Next
Next

示例 2:Positive Stepping

Dim i
For i = 1 To 3 Step 2
    '"Countdown: " & i
Next
'Output:
'Countdown: 1
'Countdown: 3

示例 3:Negative Stepping

Dim i
For i = 3 To 1 Step -2
    '"Countdown: " & i
Next
'Output:
'Countdown: 3
'Countdown: 1