VBA 学习笔记 判断语句、循环

判断语句

大部分和 Lua 差不多,多了一个 Switch 语句

循环

For 循环

多次执行一系列语句,缩写管理循环变量的代码。
For i = start To end [Step X]...Next

Private Sub Constant_demo_Click()
   Dim a As Integer
   a = 10

   For i = 0 To a Step 2
      MsgBox ("The value is i is : " & i)
   Next
End Sub

For Each 循环

主要用于数组,如果组中至少有一个元素并为组中的每个元素重复执行,则执行此操作。

For Each element In Group
   [statement 1]
   [statement 2]
   ....
   [statement n]
   [Exit For]
   [statement 11]
   [statement 22]
Next
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 a As Integer
   a = 10

   For i = 0 To a Step 2
      MsgBox ("The value is i is : " & i)
   Next
End Sub

Do...While循环

只要条件为 True 就会被执行(即,)循环应该被重复直到条件为 False。
相当于 Lua 中的 while true do ... end

Private Sub Constant_demo_Click()
   Do While i < 5
      i = i + 1
      msgbox "The value of i is : " & i
   Loop
End Sub

do…until 循环

只要条件是 False,do..Until 语句就会被执行(即,)循环应该被重复直到条件为真。

循环控制

相当于 Lua 中的 break

Exit For 语句

Private Sub Constant_demo_Click()
   Dim a As Integer
   a = 10

   For i = 0 To a Step 2 
'i is the counter variable and it is incremented by 2
      MsgBox ("The value is i is : " & i)
      If i = 4 Then
         i = i * 10 
'This is executed only if i=4
         MsgBox ("The value is i is : " & i)
         Exit For 'Exited when i=4
      End If
   Next
End Sub

Exit Do 语句

Private Sub Constant_demo_Click()
   i = 0
   Do While i <= 100
      If i > 10 Then
         Exit Do   ' Loop Exits if i>10
      End If
      MsgBox ("The Value of i is : " & i)
      i = i + 2
   Loop
End Sub
原文地址:https://www.cnblogs.com/lisaisacat/p/12322615.html