一、條件控制IF
if 邏輯表達式 then 語句塊 end if
帶else的if語句:
If 邏輯表達式1 Then 語句塊1 ElseIf 邏輯表達式2 Then 語句塊2 ElseIf 邏輯表達式3 Then 語句塊3 … Else 語句塊n End If
二、條件判斷Select/Case
Select Case 測試表達式 Case 條件表達式1 語句塊1 Case 條件表達式2 語句塊2 Case 條件表達式3 語句塊3 ...... Case 條件表達式n 語句塊n Case Else 語句塊Else End Select.
示例:
Sub test() If [a1].Value = "" Then MsgBox "A1單元格沒有輸入數字。" Exit Sub ' 退出程序
End If Select Case [a1].Value Case 0 To 29 MsgBox "差" Case 30 To 59 MsgBox "不及格" Case 60 To 79 MsgBox "及格" Case 80 To 89 MsgBox "良好" Case Else MsgBox "優秀" End Select
End Sub
三、循環控制For/Next
For 循環變量=初值 to 終值 step 步長 循環體1 [exit for] 循環體2 next 循環變量
示例:(步長默認為1,next后的循環變量可以省略 )
Sub mysum() Dim Lsum As Long, i As Long
For i = 1 To 1000 Lsum = Lsum + i Next
MsgBox "1到1000的自然數和為:" & Lsum End Sub
//更多實例,參考開篇鏈接
四、循環控制For/Each
For Eacn 元素變量 In 對象集合或數組名稱 語句塊1 [Exit For] 語句塊2 next 元素變量
//與上一個循環類似,這里采用元素變量從對象集合中取得方式
五、循環控制Do/While
Do Wihle 循環條件 語句塊1 [Exit Do] 語句塊2 Loop
Do 語句塊1 [Exit Do] 語句塊2 Loop Wihle 循環條件
//示例暫略
六、循環控制Do/Until
Do Until 循環條件 語句塊1 [Exit Do] 語句塊2 Loop
Do 語句塊1 [Exit Do] 語句塊2 Loop Until 循環條件
//與Do/While相反的是為真時退出
七、循環控制GoTo
Sub mysum() Dim Lsum As Long, i As Long i = 1 x: '為go to 語句設置的標簽,必須以英文狀態下的冒號結尾
Lsum = Lsum + i i = i + 1
If i <= 1000 Then GoTo x '如果i<=1000,則程序跳到標簽X處
MsgBox "1到1000的自然數和為:" & Lsum End Sub