從上面的例予可以看出,如果條件復雜,分支太多,使用If語句就會顯得累贅,而且程序也將變得不易閱讀。這時可使用Select Case語句來寫出結構清晰的程序。
Select case語句可根據(jù)表達式的求值結果,選擇執(zhí)行幾個分支中的一個分支。其語法如下:
Select Case<檢驗表達式>
[(;ase<比較列表1>]
[<語句l>]]
[case Else
[<語句n>]]
End Select
(1)檢驗表達式必要參數(shù),可為任何數(shù)值表達式或字符串表達式。
(2)比較列表1 若有case出現(xiàn),則為必要參數(shù)。它是多個“比較元素”的列表,其中可包含“表達式”、“表達式To表達式”、“Is<比較操作符>表達式’’幾種形式。
如果“比較元素”中含有“To”關鍵字,則前一個表達式必須小于后一個表達式(對于數(shù)值表達式,指的是數(shù)值大??;對于字符串表達式,則指排序),且<檢驗表達式>必須介于兩個表達式之間。如果<比較元素>含有“Is”關鍵字,則“比較操作符’’表達式的值必須為真。
(3)語句1~n可包含一條或多條語句。
如果有一個以上的Case子句與“檢驗表達式”匹配,則VBA只執(zhí)行第一個匹配的Case后面的“語句”。如果前面的case子句與<檢驗表達式>都不匹配,則執(zhí)行Case Else子句中的語句n。
Select case語句可根據(jù)表達式的求值結果,選擇執(zhí)行幾個分支中的一個分支。其語法如下:
Select Case<檢驗表達式>
[(;ase<比較列表1>]
[<語句l>]]
[case Else
[<語句n>]]
End Select
(1)檢驗表達式必要參數(shù),可為任何數(shù)值表達式或字符串表達式。
(2)比較列表1 若有case出現(xiàn),則為必要參數(shù)。它是多個“比較元素”的列表,其中可包含“表達式”、“表達式To表達式”、“Is<比較操作符>表達式’’幾種形式。
如果“比較元素”中含有“To”關鍵字,則前一個表達式必須小于后一個表達式(對于數(shù)值表達式,指的是數(shù)值大??;對于字符串表達式,則指排序),且<檢驗表達式>必須介于兩個表達式之間。如果<比較元素>含有“Is”關鍵字,則“比較操作符’’表達式的值必須為真。
(3)語句1~n可包含一條或多條語句。
如果有一個以上的Case子句與“檢驗表達式”匹配,則VBA只執(zhí)行第一個匹配的Case后面的“語句”。如果前面的case子句與<檢驗表達式>都不匹配,則執(zhí)行Case Else子句中的語句n。