For...Next 语句

当循环计数器接近其最终值时,重复一组 语句

语法

对于计数器=开始结束 [ 步骤步骤 ]
[ 语句 ]
[ Exit for ]
[ 语句 ]
下一步 [ 计数器 ]

For…Next 语句的语法包含以下部分:

Part 说明
计数器 必填。 用作循环计数器的数值变量。 该变量不能是布尔值或数组元素。
start 必填。 counter 的初始值。
end 必填。 counter 的最终值。
可选。 counter 每次通过循环时更改的量。 如果不指定,step 默认为 1。
statements 可选。 ForNext 之间执行指定次数的一个或多个语句。

备注

step参数可以是正参数,也可以是负参数。 步骤参数的值确定循环处理,如下所示。

如果满足以下条件,则执行循环
正数或 0 计数器<= end
Negative 计数器>= end

循环中的所有语句均执行完毕后,counter 将会增加 step。 此时,要么再次执行循环中的语句(基于导致循环最初执行的同一测试),要么退出循环并继续执行 Next 语句后面的语句。

提示

仍处于循环中时更改 counter 的值可能会增加读取和调试代码的难度。

任意数量的 Exit For 语句可以放置在循环中的任意位置,作为退出的替代方法。 计算某些条件后,通常使用 Exit For,例如 If...然后,在“下一步”之后立即将控制权转移到 语句。

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

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

注意

如果在 Next 语句内省略 counter,将会继续执行,就像包含 counter 一样。 如果在相应的 For 语句之前先遇到 Next 语句,将会出现错误。

示例

此示例使用 For...Next 语句创建一个字符串,其中包含数字 0 至 9 的 10 实例,每个字符串之间由一个空格分隔。 外部循环使用一个循环计数器变量,每次通过循环时,该变量都会递减。

Dim Words, Chars, MyString 
For Words = 10 To 1 Step -1 ' Set up 10 repetitions. 
 For Chars = 0 To 9 ' Set up 10 repetitions. 
 MyString = MyString & Chars ' Append number to string. 
 Next Chars ' Increment counter 
 MyString = MyString & " " ' Append a space. 
Next Words 

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。