For...Next 语句
当循环计数器接近其最终值时,重复一组 语句 。
语法
对于计数器=开始到结束 [ 步骤步骤 ]
[ 语句 ]
[ Exit for ]
[ 语句 ]
下一步 [ 计数器 ]
For…Next 语句的语法包含以下部分:
Part | 说明 |
---|---|
计数器 | 必填。 用作循环计数器的数值变量。 该变量不能是布尔值或数组元素。 |
start | 必填。 counter 的初始值。 |
end | 必填。 counter 的最终值。 |
步 | 可选。 counter 每次通过循环时更改的量。 如果不指定,step 默认为 1。 |
statements | 可选。 For 和 Next 之间执行指定次数的一个或多个语句。 |
备注
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 支持和反馈,获取有关如何接收支持和提供反馈的指南。