VBA中的几种循环

» VBA » VBA中的几种循环

最近工作需要很多用到VBA的地方,说实话,之前有点瞧不起这种古老编程语言的,但是实际使用之后发现很香啊,所以对一些东西坐下笔记

VBA中的几种循环-极客公园

For 数字循环

这种循环一般是执行一定次数结束,如果需要达到指定条件需要搭配if
Private Sub Constant_demo_Click()
   Dim a As Integer
   a = 10

   For i = 0 To a Step 2'这里是步进,默认是1
      MsgBox ("The value is i is : " & i)
   Next
End Sub

数组循环

这个是我目前用的最多的,可以直接把一个单元格区域作为数组,循环计算,亦可以在这个循环内嵌套数字循环
Private Sub Constant_demo_Click()  
   'fruits is an array,也可以直接提取一个单元格区域作为数组
   fruits = Array("苹果", "橙子", "樱桃")
   Dim fruitnames As Variant

   'iterating using For each loop.
   For Each Item In fruits
      fruitnames = fruitnames & Item & Chr(10)
   Next

   MsgBox fruitnames
End Sub

While Wend循环

这种循环不指定次数,达成条件再结束
Private Sub Constant_demo_Click()
   Dim Counter :  Counter = 10   

   While Counter < 15     ' Test value of Counter.
      Counter = Counter + 1   ' Increment Counter.
      msgbox "The Current Value of the Counter is : " & Counter
   Wend   ' While loop exits if Counter Value becomes 15.
End Sub

Do...While循环

这种循环不指定次数,达成条件再结束,和上面的一样
Private Sub Constant_demo_Click()
   Do While i < 5
      i = i + 1
      msgbox "The value of i is : " & i
   Loop
End Sub

退出循环

Exit For
Exit Do

-- 完 --

发表评论

您的电子邮箱地址不会被公开。