電腦在執行程式時,都是依照順序一行接著一行的執行,如果我們希望程式在執行時,依據不同的條件狀況來做出不一樣的動作,這時候就可以利用條件判斷式來處理。
舉例,假如以成績60分為標準,大於或等於60分為及格:
如果 成績>=60分 則:
成績及格
這種情境就是一個典型的條件判斷式,在 Excel VBA 中我們可以用 If Then 把這個判斷邏輯寫成程式,讓電腦幫我們做判斷:
程式碼:
Dim x As Integer
x = InputBox("請輸入成績", "成績輸入")
If x >= 60 Then
MsgBox ("成績及格")
End If
舉例,假如以成績60分為標準,大於或等於60分為及格,而若不到60分則為不及格:
如果 成績>=60分 則:
成績及格
否則
成績不及格
程式碼:
Dim x As Integer
x = InputBox("請輸入成績", "成績輸入")
If x >= 60 Then
MsgBox ("成績及格")
Else
MsgBox ("成績不及格")
End If
如果我們的條件判斷邏輯不是二選一的時候,狀況就會稍微複雜一些,例如:
如果 成績>=80分 則:
成績優等
否則如果 60分<=成績<80分:
成績中等
否則:
成績不及格
程式碼:
Dim x As Integer
x = InputBox("請輸入成績", "成績輸入")
If x >= 80 Then
MsgBox ("成績優良")
ElseIf x >= 60 Then
MsgBox ("成績中等")
Else
MsgBox ("成績不及格")
End If
If Then 的條件判斷式在執行時只會選擇第一個符合的條件來執行,而且在判斷條件時是有順序性的,以這個例子來說,首先會判斷第一個 If 條件是否成立,如果成立的話就會執行對應的動作,然後其他的 ElseIf 就不會再繼續判斷或執行了。
而如果第一個 If 不成立的話,才會繼續判斷 ElseIf 的條件 。
我們可以在 If Then 的條件判斷中加入多個 ElseIf,程式在執行時會依照順序一個接著一個檢查每一個條件,找到符合的條件就會執行對應的動作,如果找到最後都沒有任何一個條件符合,就會執行 Else 的對應動作。