For Next循环几乎是在所有编程语言中都使用的循环。在这个循环中,For语句后面有一个循环条件,代码在FOR NEXT中循环,直到达到这个条件。

VBA For Next循环是一种指定循环次数的程序结构,也称为计数循环。在这种结构中,使用一个称为循环变量的特殊变量作为计数器,指定它的初始数值,然后每重复执行一次循环,循环变量就会自动增加或减少一个指定的数值(称为步长值),直到循环变量的值达到最终的指定值,循环才停止执行。FOR NEXT循环语句通常包括循环变量的初始化、循环条件的判断和循环体的执行三个部分。
FOR循环在单元格范围内循环并执行特定任务,直到条件为TRUE。例如,如果要循环遍历前10个单元格并插入递增1的序列号,则可以使用For Next循环。
这个循环需要一个变量来运行循环。使用这个变量,我们可以动态地引用单元格。
它包括三个参数。
For 计数器=起点 to 终点 [步长(可选,默认为1)]
‘ 要做的事情
Next 计数器
循环将从起点开始并执行一些任务。完成任务后,它将移动到下一个循环,并在不同的单元格中执行相同的任务。像这样,直到它到达终点。
如何使用VBA执行FOR循环?
假设要插入从1到10到A1到A10单元格的序列号。

然后,当然,我们可以像写十行代码一样插入。
代码:
Sub For_Next_Loop_Example1()
Range("A1").Value = 1
Range("A2").Value = 2
Range("A3").Value = 3
Range("A4").Value = 4
Range("A5").Value = 5
Range("A6").Value = 6
Range("A7").Value = 7
Range("A8").Value = 8
Range("A9").Value = 9
Range("A10").Value = 10
End Sub
但是如果我们想插入100个序列号呢?我们总不能写100行代码来插入序列号吧。这就是“FOR NEXT”循环的美妙之处。可以按照以下步骤精简代码。
步骤1:首先,我们需要定义一个变量。我们已经将变量名称“Serial_Number”声明为Integer数据类型。
代码:
Sub For_Next_Loop_Example2()
Dim Serial_Number As Integer
End Sub
步骤2:现在,我们使用FOR NEXT循环。我们的目标是插入从1到10的序列号,因此我们的循环必须运行十次。因此,FOR NEXT语句应该是这样的。
代码:
Sub For_Next_Loop_Example2()
Dim Serial_Number As Integer
For Serial_Number = 1 To 10
‘要做的事情
Next Serial_Number
End Sub
步骤3:我们需要指定在循环中必须做什么。我们的目标是插入从1到10的序列号。因此,将代码编写为Cells(Serial_Number,1).Value=Serial_Number。
代码:
Sub For_Next_Loop_Example2()
Dim Serial_Number As Integer
For Serial_Number = 1 To 10
Cells(Serial_Number, 1).Value = Serial_Number
Next Serial_Number
End Sub
步骤4:每次循环运行时,我们都希望在新单元格中插入新的序列号,而不是在同一单元格中。
步骤5:按F8键运行代码。

步骤6:将光标放在变量Serial_Number上;它显示Serial_Number的当前值。

此时,Serial_Number值为零。
步骤7:再按一次F8键。黄色将移动到VBA中的下一行代码。现在,将光标放在Serial_Number上。

Serial_Number的值等于1,因为循环正在启动。循环从1开始,因此变量Serial_Number的值等于1。
另一件有趣的事情是,无论变量Serial_Number在哪里,它都等于1。
因此,在Cells属性中,我们提到的代码如下:
Cells(Serial_Number, 1).Value = Serial_Number
它表示:单元格(1,1).值=1。(单元格(1,1)表示第1行和第1列)
因此,在第1行和第1列中,值应该是1。
步骤8:现在,按F8,看看第1行和第1列,即单元格A1中发生了什么。

因此,我们得到1作为值,即Serial_Number的值。
步骤9:现在再按一次F8键。通常,下一个代码应该运行,即在子语句的末尾。但在这里,它将回到“上一条语句”

步骤10:记住循环已经完成了第一次运行。现在,它第二次返回。现在,将光标放在变量Serial_Number上,然后查看值。

变量Serial_Number等于2,因为循环已返回。
现在,无论Serial_Number在哪里,它都等于值2。
步骤11:运行此代码并查看A2单元格中的值。

所以,我们得到了第二个序列号值。
步骤12:现在按F8键。它将再次返回到上面的行以重复代码。这一次Serial_Number的值将为3。

步骤13:因此,无论Serial_Number在哪里,都等于3。
步骤14:按F8执行高亮显示的行,并查看A3单元格中的值。

步骤15:现在,继续按F8。它将继续插入序列号。最后,如果变量Serial_Number的值为10,它将停止循环并退出循环。
