VBA編程中的SelectCase語(yǔ)句

字號(hào):

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