vba語句select case End Select

來源:互聯網
上載者:User

   一、Select Case文法及參數介紹

  Select Case testexpression

  [Case expressionlist-n

  [statements-n]] ...

  [Case Else

  [elsestatements]]

  End Select

  Select Case 語句的文法具有以下幾個部分:

  testexpression 必要參數。任何數值運算式或字串運算式。

  expressionlist-n 如果有 Case 出現,則為必要參數。其形式為 expression,expression To expression,Is comparisonoperator expression的一個或多個組成的分界列表。To 關鍵字可用來指定一個數值範圍。如果使用 To 關鍵字,則較小的數值要出現在 To 之前。使用 Is 關鍵字時,則可以配合比較子(除 Is 和 Like 之外)來指定一個數值範圍。如果沒有提供,則 Is 關鍵字會被自動插入。

  statements-n 選擇性參數。一條或多條語句,當 testexpression 匹配expressionlist-n中的任何部分時執行。

  elsestatements 選擇性參數。一條或多條語句,當 testexpression 不匹配 Case 子句的任何部分時執行。

  如果 testexpression 匹配某個 Case expressionlist 運算式, 則在 Case 子句之後,直到下一個 Case 子句的 statements 會被執行;如果是最後一個子句,則會執行到 End Select。然後控制權會轉移到 End Select 之後的語句。如果 testexpression 匹配一個以上的 Case 子句中的 expressionlist 運算式,則只有第一個匹配後面的語句會被執行。

  Case Else 子句用於指明 elsestatements,當 testexpression 和所有的 Case 子句中的 expressionlist 都不匹配時,則會執行這些語句。雖然不是必要的,但是在 Select Case 區塊中,最好還是加上 Case Else 語句來處理不可預見的 testexpression 值。如果沒有 Case expressionlist 匹配 testexpression,而且也沒有 Case Else 語句,則程式會從 End Select 之後的語句繼續執行。

  二、Select Case的例子

  ①儲存格範圍B1:B5內,儲存格的值=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內,儲存格的值<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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.