vba语句select case End Select

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

时间: 2024-12-30 18:36:13

vba语句select case End Select的相关文章

asp Select Case语句语法与实例教程

select case  是一个条件选择他的好处是唯出口,很多时间他大优于if else哦. <script language="vbscript" runat="server">  sub select1()   dim varweek       '声明变量    varweek=weekday(now())    '获取代表今天是星期几的整数    response.write("<center>")   '中间显示

VBS教程:VBScript 语句-Select Case 语句_vbs

Select Case 语句根据表达式的值执行几组语句之一. Select Case testexpression[Case expressionlist-n[statements-n]] . . .[Case Else expressionlist-n[elsestatements-n]]End Select 参数testexpression 任意数值或字符串表达式. expressionlist-n 如 Case 出现则必选项.一个或多个表达式的分界列表. statements-n 当 te

asp.net select Case条件语句的使用方法

如果 testexpression 与任何 Case expressionlist 表达式匹配 ,则执行此 Case 子句和下一个 Case 子句之间的语句,对于最后 的子句,则会执行该子句到 End Select 之间的语句,然后控制权 会转到 End Select 之后的语句.如 testexpression 与多个 Case 子句中的 expressionlist 表达式匹配,则只有第一个匹配 后的语句被执行. Case Else 用于指示若在 testexpression 和任何其他 C

Excel利用Select Case评判成绩等级优秀、良好、及格、不及格等

  首先看看Select Case的语法如下. [Select Case语句的语法] Select Case 测试表达式 Case 条件表达式1 语句块1 Case 条件表达式2 语句块2 Case 条件表达式3 语句块3 ...... Case 条件表达式n 语句块n Case Else 语句块Else End Select. 注意哦,这种语句是在VBA代码当中使用的.下面提供例子,其功能用来评判成绩的等级的,分别为优秀.良好.及格.不及格等情况. If [a1].Value = ""

asp Select Case 语法与 select case 实例

选择报表的工作一样,如果语句.然而不同的是,他们可以检查多个值.当然,你有 多个相同的,如果.. else语句,但是这并不总是最好的方法. 选择语句允许一个程序来计算表达式,并试图匹配表达式的值案件标签.如果找到匹 配,程序执行相关的声明.对于SELECT语句的语法如下: select case expression    case label_1       statements_1    case label_2       statements_2    ...    case else

ASP中用select case代替其他语言中的switch case, default用case else_应用技巧

asp中不能用switch语句,要用select case语句了 简单的介绍一下 选择报表的工作一样,如果语句.然而不同的是,他们可以检查多个值.当然,你有 多个相同的,如果.. else语句,但是这并不总是最好的方法. 选择语句允许一个程序来计算表达式,并试图匹配表达式的值案件标签.如果找到匹 配,程序执行相关的声明.对于SELECT语句的语法如下: select case expression case label_1 statements_1 case label_2 statements

ASP中用select case代替其他语言中的switch case, default用case else

asp中不能用switch语句,要用select case语句了 简单的介绍一下 选择报表的工作一样,如果语句.然而不同的是,他们可以检查多个值.当然,你有 多个相同的,如果.. else语句,但是这并不总是最好的方法. 选择语句允许一个程序来计算表达式,并试图匹配表达式的值案件标签.如果找到匹 配,程序执行相关的声明.对于SELECT语句的语法如下: select case expression case label_1 statements_1 case label_2 statements

oracle insert into select case when...

问题描述 insert into ta_rule_expinfo (EXP_ID, RULE_ID, RULE_VERSION, EXP_SEQ, AREA_CODE, CC_FORM_INSTANCEID) select case when length(exp_id) > 12 then replace(substr(exp_id, 0, 12) || substr(exp_id, 12), substr(exp_id, 0, 12), '430100000000') else '43010

VBS中Select CASE的其它用法_vbs

marr=20select case true case marr<12  response.write "小于12" case marr>12  response.write "大于12" case marr=12  response.write "=="end select   还可以这样用 case marr> 7 and marr<12