Excel VBA解读有限次的循环

网友投稿 668 2022-10-19

Excel VBA解读有限次的循环

这里,简要地谈谈有限次的循环结构,也就是For-Next循环。还是先看一个例子。

我们如果想要在工作表单元格区域A1:A10中依次填写数字1至10,可以使用下面的代码:

Sub ForNextTest1()

‘使用循环为单元格填充数字

For i = 1 To 10

Cells(i, 1).Value = i

Next i

End Sub

运行后,当前工作表中单元格区域A1:A10会填充数字1至10。上述代码中,Cells(i, 1)代表第i行第1列的单元格,语句Cells(i, 1) = i将i的值放入第i行第1列的单元格中。

For-Next循环的基本语法结构如下:

For 计数变量=开始值 To 结束值 [step 步长]

[语句块]

[Exit For]

[语句块]

Next [计数变量]

说明:

按照惯例,方括号中的内容表示可选项。

步长可以是正值或者负值。正确地设置某个值,以满足特定的需求;若不设置,默认循环计数变量每次增加1,如上面的例子所示。

Exit For语句表示提前退出循环。

For-Next循环从计数变量设置的开始值开始,按步长增加计数变量值,直至达到结束值时终止循环。

将前面示例中的循环用框图表示如下:

下面的代码求1至100的和,并显示结果。

Sub ForNextTest2()

sum = 0 ‘赋初值

For i = 1 To 100

sum = sum + i

Next i

MsgBox “1至100的和为:”& sum

End Sub

下面的代码求1至100之间的偶数和并显示结果。

Sub ForNextTest3()

sum = 0 ‘赋初值

For i = 0 To 100 Step 2

sum = sum + i

Next i

MsgBox “1至100之间的偶数和为:”& sum

End Sub

其中,计数变量i的值从0开始,依次为2、4、6、8等,最后达到100。但是,在循环结束时,i的值为102。有兴趣的朋友可以添加一个语句,打印出循环结束后i的值。

我们使计数变量从100开始,让步长为负值递减,也可以得到同样的效果:

Sub ForNextTest4()

sum = 0 ‘赋初值

For i = 100 To 0 Step -2

sum = sum + i

Next i

MsgBox “1至100之间的偶数和为:”& sum

End Sub

For-Next循环可以嵌套其他的For-Next循环。如下例所示,将当前工作表中的单元格区域A1:J10中的内容都填充为数字1。

Sub ForNextTest5()

For i = 1 To 10

For j = 1 To 10

Cells(i, j).Value = 1 ‘填充单元格

Next j

Next i

End Sub

下面的例子说明使用Exit For语句退出循环:

Sub ForNextTest6()

For i = 1 To 10

If Cells(i, 1).Value = 0 Then ‘判断单元格中的值为0

Exit For

End If

Next i

MsgBox “单元格A” & i& “中的值为0.”

End Sub

在单元格区域A1:A10中,如果某个单元格的值为0,则退出循环,并继续执行Next后面的语句,本例中是MsgBox函数。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:甘特图个人
下一篇:WPS文档中怎么输入贝塔β符号?
相关文章