一、条件控制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