VBA循环语句用法介绍(vba循环语句)

一、For循环语句

在VBA中,For循环语句用于重复执行一组语句,可以根据需要指定循环次数。

以下是For循环语句的语法:

For 变量名 = 初值 To 终值 Step 步长
   [执行代码语句]
Next [变量名]

其中,变量名是自定义的变量名,用于控制循环次数,初值和终值分别为循环的起点和终点,步长控制每次增减的大小,如果不指定步长,则默认使变量名加1。

例如,以下代码将输出1到10的数字:

Sub ForLoop()
   Dim i As Integer
   For i = 1 To 10
      Debug.Print i
   Next i
End Sub 

除了常规的For循环语句,VBA还支持For Each循环语句,该语句用于循环访问一个数组或者集合中的所有元素,如下所示:

For Each 变量 In 数组
   [执行代码语句]
Next [变量]

例如,以下代码将输出数组中的每个元素:

Sub ForEachLoop()
   Dim arr() As Variant
   arr = Array(1, 2, 3, 4, 5)
   Dim i As Variant
   For Each i In arr
      Debug.Print i
   Next i
End Sub 

二、Do While/Until循环语句

Do While和Do Until语句是一种基于条件的循环语句,当条件为真时,执行一组语句,循环直到条件为假。

以下是Do While循环语句的语法:

Do While 条件
   [执行代码语句]
Loop

如果希望在条件为假时循环,则使用Do Until循环语句,如下所示:

Do Until 条件
   [执行代码语句]
Loop

例如,以下代码将输出1到10的数字:

Sub DoWhileLoop()
   Dim i As Integer
   Do While i < 10
      i = i + 1
      Debug.Print i
   Loop
End Sub 

三、While循环语句

While循环语句是一种类似于Do While语句的基于条件的循环语句,但是条件判断是在循环开始之前进行的。

以下是While循环语句的语法:

While 条件
   [执行代码语句]
Wend

例如,以下代码将输出1到10的数字:

Sub WhileLoop()
   Dim i As Integer
   i = 1
   While i <= 10
      Debug.Print i
      i = i + 1
   Wend
End Sub 

四、循环控制语句

VBA还提供了循环控制语句,用于控制循环的进程。例如,Exit For语句用于跳出For循环,Exit While语句用于跳出While循环。

以下是部分循环控制语句的用法:

Exit For      '跳出For循环
Exit Do       '跳出Do While/Until循环
Exit While    '跳出While循环

Continue For  '跳过当前迭代,继续执行下一次迭代
Continue Do   '跳过当前迭代,继续执行下一次迭代
Continue While'跳过当前迭代,继续执行下一次迭代

例如,以下代码将输出1到5的数字,跳过所有偶数:

Sub LoopControl()
   Dim i As Integer
   For i = 1 To 10
      If i Mod 2 = 0 Then
         Continue For
      End If
      Debug.Print i
      If i = 5 Then
         Exit For
      End If
   Next i
End Sub 

五、嵌套循环

可以在一个循环内部嵌套另一个循环,这种方法称为嵌套循环。

例如,以下代码使用两个For循环嵌套来输出一个九九乘法表:

Sub NestedLoop()
   Dim i As Integer
   Dim j As Integer
   For i = 1 To 9
      For j = 1 To i
         Debug.Print j & "*" & i & "=" & i * j & "; "
      Next j
      Debug.Print vbNewLine
   Next i
End Sub 

以上就是VBA循环语句的详细介绍,通过这些循环语句,可以轻松实现复杂的数据处理和计算。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平