Excel VBA解读有限次的循环
时间:2022-09-16 21:47:29
这里,简要地谈谈有限次的循环结构,也就是For-Next循环。还是先看一个例子。
我们如果想要在工作表单元格区域A1:A10中依次填写数字1至10,可以使用下面的代码:
Sub ForNextTest1()
Dim i As Integer ‘声明整型变量i
‘使用循环为单元格填充数字
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()
Dim sum As Integer ‘声明存储结果值的变量
Dim i As Integer ‘声明计数变量
sum = 0 ‘赋初值
For i = 1 To 100
sum = sum + i
Next i
MsgBox “1至100的和为:”& sum
End Sub
下面的代码求1至100之间的偶数和并显示结果。
Sub ForNextTest3()
Dim sum As Integer ‘声明存储结果值的变量
Dim i As Integer ‘声明计数变量
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()
Dim sum As Integer ‘声明存储结果值的变量
Dim i As Integer ‘声明计数变量
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()
Dim i As Integer ‘声明计数变量
Dim j As Integer ‘声明计数变量
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()
Dim i As Integer ‘声明计数变量
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函数。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
word中怎么将字符间距加宽?
![](https://img.aspxhome.com/file/2023/2/35282_0s.jpg)
Excel 2019如何删除分级显示
![](https://img.aspxhome.com/file/2023/4/a140854_0s.jpg)
怎样去掉Word文档中的手动换行符
word怎么在页眉中添加图片
![](https://img.aspxhome.com/file/2023/2/18122_0s.jpg)
excel怎么绘制集料标准曲线图
![](https://img.aspxhome.com/file/2023/0/37320_0s.jpg)
Win10鼠标间歇性失灵卡顿是怎么回事?
![](https://img.aspxhome.com/file/2023/9/49439_0s.png)
Word2016拼写检查怎么关闭?Word2016关闭拼写检查教程
![](https://img.aspxhome.com/file/2023/0/22940_0s.jpg)
使用 App Store 下载应用时,如何取消输入密码步骤?
![](https://img.aspxhome.com/file/2023/1/a195031_0s.jpg)
纸质文字转换成电子版文字的技巧 纸质转换电子版
![](https://img.aspxhome.com/file/2023/1/15411_0s.jpg)
Excel如何用"超级连接"快速跳转到其它文件
![](https://img.aspxhome.com/file/2023/8/37128_0s.png)
打开 Word 这个功能,让你拥有沉浸式的写作体验
![](https://img.aspxhome.com/file/2023/5/34255_0s.jpg)
win10麦克风音量乱跳怎么办?win10麦克风音量乱跳解决教程
![](https://img.aspxhome.com/file/2023/7/48587_0s.jpg)
怎样把word设置为默认程序
![](https://img.aspxhome.com/file/2023/7/35557_0s.png)
Word最常见的 3 个棘手难题
excel删除单元格时,下面的单元格上移,不想让他上移,怎么办?
![](https://img.aspxhome.com/file/2023/6/a140586_0s.jpg)
Win10专业版如何窗口化运行游戏?Win10专业版窗口化运行游戏方法
![](https://img.aspxhome.com/file/2023/1/51951_0s.jpg)
你可能不知道,Apple Watch 也可以当手电筒使用
![](https://img.aspxhome.com/file/2023/3/a194783_0s.jpg)
毕业论文word文件中多要求页眉该怎么设置?
![](https://img.aspxhome.com/file/2023/1/29131_0s.jpg)
Win10自动锁屏功能怎么设置?Win10自动锁屏功能设置方法分享
![](https://img.aspxhome.com/file/2023/0/52390_0s.png)
Win10穿越火线烟雾头怎么调?Win10烟雾头的最新调法介绍
![](https://img.aspxhome.com/file/2023/0/51010_0s.jpg)