Sub AlertUser(value) If value = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True Else AlertLabel.Forecolor = vbBlack AlertLabel.Font.Bold = False AlertLabel.Font.Italic = False End If End Sub
Sub ReportValue(value) If value = 0 Then MsgBox value ElseIf value = 1 Then MsgBox value ElseIf value = 2 then Msgbox value Else Msgbox "數(shù)值超出范圍!" End If
可以添加任意多個 ElseIf 子句以提供多種選擇。使用多個 ElseIf 子句經(jīng)常會變得很累贅。在多個條件中進行選擇的更好方法是使用 select Case 語句。
使用 select Case 進行判斷
select Case 結(jié)構(gòu)提供了 If...Then...ElseIf 結(jié)構(gòu)的一個變通形式,可以從多個語句塊中選擇執(zhí)行其中的一個。select Case 語句提供的功能與 If...Then...Else 語句類似,但是可以使代碼更加簡練易讀。
select Case 結(jié)構(gòu)在其開始處使用一個只計算一次的簡單測試表達式。表達式的結(jié)果將與結(jié)構(gòu)中每個 Case 的值比較。如果匹配,則執(zhí)行與該 Case 關(guān)聯(lián)的語句塊:
select Case Document.Form1.CardType.Options(selectedIndex).Text Case "MasterCard" DisplayMCLogo ValidateMCAccount Case "Visa" DisplayVisaLogo ValidateVisaAccount Case "American Express" DisplayAMEXCOLogo ValidateAMEXCOAccount Case Else DisplayUnknownImage PromptAgain End select
請注意 select Case 結(jié)構(gòu)只計算開始處的一個表達式(只計算一次),而 If...Then...ElseIf 結(jié)構(gòu)計算每個 ElseIf 語句的表達式,這些表達式可以各不相同。僅當每個 ElseIf 語句計算的表達式都相同時,才可以使用 select Case 結(jié)構(gòu)代替 If...Then...ElseIf 結(jié)構(gòu)。