欢迎来到山村网

vba语句select case End Select

2019-03-05 01:38:19浏览:59 来源:山村网   
核心摘要:  一、Select Case语法及参数介绍  Select Case testexpression  [Case expressionlist-n  [statements-n]] ...  [Cas

  一、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

(责任编辑:豆豆)
下一篇:

Excel按厘米精确设置行高列宽

上一篇:

word2010怎么给自定义快捷键

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com