JSRUN 用代码说话

循环嵌套

编辑教程

循环嵌套

到目前为止,你已经在本章里尝试了很多种循环了,每种过程示范每个循环结构的使用。

然而,在编程中,一循环总是放在另外一循环中的。VB允许你将不同类型的循环(For和Do循环)“嵌套”在同一个过程里。

当你编写循环嵌套时,请确保每个内部的循环在外部循环里面已经完成。另外,每个循环都必须有其自己独特的计数器变量。如果使用循环嵌套,你可以更有效地执行特定的任务。

下面显示的过程ColorLoop示范如何嵌套一个For…Next循环在另一个For…Next循环里面:

Sub ColorLoop()
Dim myRow As Integer
Dim myCol As Integer
Dim myColor As Integer
myColor = 0
For myRow = 1 To 8
For myCol = 1 To 7
Cells(myRow, myCol).Select
myColor = myColor + 1
With Selection.Interior
.ColorIndex = myColor
.Pattern = xlSolid
End With
Next myCol
Next myRow
End Sub

上面的过程ColorLoop使用了两个For…Next循环来改变工作表中前面八行和七列里的每个单元格的颜色。

当外部的循环在追踪行号的时候,内部的循环在做更多的事情,它首先确定当前的列号,基于当前的行号的列号选择适当的单元格,然后给所选的单元格设置颜色。

内部的For…Next循环给工作表的第一行的七个单元格(A1, B1, C1, D1, E1, F1和G1)设置不同的颜色。

当变量myCol大于7时,VB跳回外部循环并且变量myRow增加1,再回到内部循环去设置下一行单元格的颜色。

当过程结束时,56个单元格(8*7)被设置了当前调色板上可用的所有颜色。第一个单元格,A1,被设置了黑色(颜色索引号为1),第二个单元格B1则被设置为白色了(颜色索引号为2)。

每次单元格地址变化——Cells(myRow, myCol).Select——变量myColor的内容也会改变——myColor = myColor + 1

在本章里,你学习了如何在循环里重复一组代码。通过使用好几种类型的循环,你看到了每种循环稍稍不同地进行重复。

你有了经验后,你将更容易地选择合适的控制结构来执行你的任务。

在本教程后续的章节中,将会有更多的使用循环的例子。例如,在下章里,你将看到如何使用数组合嵌套的循环来创建一个VBA过程,该过程将帮你选择彩票号码。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟