VBA基础二:判断(IF,IIF,CASE)
'VBA中的IF条件判断语句,就像函数中的IF一样
'IF可单条件,也可多条件。
Sub IF条件判断之单条件1()
Dim a%, b%
a = 2
b = 2
If a = b Then MsgBox "相等"
End Sub
Sub IF条件判断之单条件2()
Dim a%, b%
a = 2
b = 2
If a = b Then
MsgBox "相等"
End If
End Sub
Sub IF条件判断之单条件3()
Dim a%, b%
a = 2
b = 2
If a = b Then
MsgBox "相等"
Else
MsgBox "不相等"
End If
End Sub
Sub IF条件判断之多条件等级划分()
If Sheet1.Range("b1") >= 90 Then
Sheet1.Range("b2") = "优秀"
ElseIf Sheet1.Range("b1") >= 80 Then
Sheet1.Range("b2") = "良好"
ElseIf Sheet1.Range("b1") >= 70 Then
Sheet1.Range("b2") = "中等"
Else
Sheet1.Range("b2") = "较差"
End If
End Sub
'VBA中的IIF函数与工作表函数(IF)的语法结一致
Sub IIF函数应用()
Cells(2, 3) = IIf(Cells(1, 2) > 80, "优秀", "不优秀")
End Sub
'思考题?
'IIF也可以像工作表函数IF一样多层嵌套,现在请用IIF对sheet1表的分数进行等级判断?
另一种条件判断方法
'Select Case 语句 根据表达式的值,来决定执行几组语句中的其中之一。
Sub select单条件判断()
i = 1
Select Case i
Case Is > 0
MsgBox "正数"
Case Else
MsgBox "负数"
End Select
End Sub
Sub select多条件判断()
Select Case Sheet1.[d1].Value
Case "A"
Sheet1.[a3] = "A型血的你,是个不怎么样的人!"
Case "B"
Sheet1.[a3] = "B型血的你,也是个不怎么样的人~"
Case "AB"
Sheet1.[a3] = "AB型血的你,是个更不怎么样的人~"
Case "O"
Sheet1.[a3] = "O型血的你,还是不错的!"
Case Else
Sheet1.[a3] = "没有这种型血,看来你 是个最不怎么样的人~!"
End Select
End Sub