一、Select Case語法及參數(shù)介紹
Select Case testexpression
[Case expressionlist-n
[statements-n]] ...
[Case Else
[elsestatements]]
End Select
Select Case 語句的語法具有以下幾個部分:
testexpression 必要參數(shù)。任何數(shù)值表達式或字符串表達式。
expressionlist-n 如果有 Case 出現(xiàn),則為必要參數(shù)。其形式為 expression,expression To expression,Is comparisonoperator expression的一個或多個組成的分界列表。To 關(guān)鍵字可用來指定一個數(shù)值范圍。如果使用 To 關(guān)鍵字,則較小的數(shù)值要出現(xiàn)在 To 之前。使用 Is 關(guān)鍵字時,則可以配合比較運算符(除 Is 和 Like 之外)來指定一個數(shù)值范圍。如果沒有提供,則 Is 關(guān)鍵字會被自動插入。
statements-n 可選參數(shù)。一條或多條語句,當(dāng) testexpression 匹配expressionlist-n中的任何部分時執(zhí)行。
elsestatements 可選參數(shù)。一條或多條語句,當(dāng) testexpression 不匹配 Case 子句的任何部分時執(zhí)行。
如果 testexpression 匹配某個 Case expressionlist 表達式, 則在 Case 子句之后,直到下一個 Case 子句的 statements 會被執(zhí)行;如果是最后一個子句,則會執(zhí)行到 End Select。然后控制權(quán)會轉(zhuǎn)移到 End Select 之后的語句。如果 testexpression 匹配一個以上的 Case 子句中的 expressionlist 表達式,則只有第一個匹配后面的語句會被執(zhí)行。
Case Else 子句用于指明 elsestatements,當(dāng) testexpression 和所有的 Case 子句中的 expressionlist 都不匹配時,則會執(zhí)行這些語句。雖然不是必要的,但是在 Select Case 區(qū)塊中,最好還是加上 Case Else 語句來處理不可預(yù)見的 testexpression 值。如果沒有 Case expressionlist 匹配 testexpression,而且也沒有 Case Else 語句,則程序會從 End Select 之后的語句繼續(xù)執(zhí)行。
二、Select Case的例子
①單元格范圍B1:B5內(nèi),單元格的值=1→紅色,=2→黃色,=3→水色,=以外→綠色
Dim myRng As Range
Dim c As Range
Dim myColor As Integer
Set myRng = Range("B1:B5")
For Each c In myRng
Select Case c.Value
Case 1
myColor = 3 紅
Case 2
myColor = 6 黃
Case 3
myColor = 8 水色
Case Else
myColor = 10 緑
End Select
c.Interior.ColorIndex = myColor
Next c
②單元格范圍B1:B5內(nèi),單元格的值<10→紅色,<20→黃色,<30→水色,以外→綠色
Dim myRng As Range
Dim c As Range
Dim myColor As Integer
Set myRng = Range("B1:B5")
For Each c In myRng
Select Case c.Value
Case Is < 10
myColor = 3 紅
Case Is < 20
myColor = 6 黃
Case Is < 30
myColor = 8 水色
Case Else
myColor = 10 緑
End Select
c.Interior.ColorIndex = myColor
Next c
新聞熱點
疑難解答
圖片精選