根据表达式的值执行几组语句之一。
select case a 意思就是判断a是什么内容。然后根据不同内容执行不同的代码。
VB里的Select语句的格式是这样的:
Select Case <变量名> '语句开始
Case <情况1> ’判断条件。
…… ‘执行命令
Case <情况2> 。
……
Case <情况3> 。
…… …… ……
Case Else
……
End Select ’结束。
<情况>为变量的数据:
例如: Case 1 '当变量为1时 ...... 。
Case Is < 5 '当变量小于5时。
举例如下:
Private Sub Form_Click()。
Dim a As Integer。
a = InputBox("请输入一个数:")。
Select Case a
Case Is > 0
MsgBox "是正数"
Case Is < 0
MsgBox "是负数"
Case Else
MsgBox "是零"
End Select
End Sub
扩展资料:
参数
testExpression:必要参数,任何数值表达式或字符串表达式。
expression:如果有Case出现,则为必要参数。 。
statements:可选参数,一条或多条语句,当 testExpression 匹配 expression 中的任何部分时执行。 。
elseStatements:可选参数,一条或多条语句,当 testExpression 不匹配 Case 子句的任何部分时执行。
参考资料来源:百度百科-Select Case。
Private Sub Command1_Click()。
Dim XX As Integer。
XX = Val(Text1.Text) '将文本框的文本转换为数字。
If XX = 0 Then Exit Sub。
Select Case XX
Case 1 '一个变量的判断。
Label1.Caption = "变量为1"。
Case 2, 3 '二个变量的判断。
Label1.Caption = "变量为2或3"。
Case 4 To 8 '多个变量的判断。
Label1.Caption = "变量为4到8"。
Case 9 '一个变量的判断。
Label1.Caption = "变量为9"。
Case Else '不符合上面的判断。
Label1.Caption = "变量为其他数"。
End Select
End Sub
复制后你运行一下就明白了。
Private Sub Command1_Click() 。
Dim cj As Single 。
cj = val(Text1.text)。
Select Case cj 。
Case is<60,is>0。
Text2.Text = "成绩不合格" 。
Text1.Text = "" 。
Text1.setfocus
Case is>60,is<70。
Text2.text="成绩差"。
Text1.Text = "" 。
Text1.setfocus
Case is>70,is<79。
Text2.Text = "成绩中等" 。
Text1.Text = ""。
Text1.setfocus
Case is>80,is<89。
Text2.Text = "成绩优秀" 。
Text1.Text = "" 。
Text1.setfocus。
Case is>90,is<100。
Text2.Text = "成绩很优秀" 。
Text1.Text = ""。
Text1.setfocus
Case Else
MsgBox "数据错误"
Text1.text=""
End Select
End Sub
说明一下:case is就是相当于select case 的表达式...case is>10就是cj>10的意思...。
刚稍微修正了下
[Case Else[elsestatements]]End SelectSelect 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 之后的语句继续执行。
可以在每个 Case 子句中使用多重表达式或使用范围,例如,下面的语句是正确的:
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber。
注意Is 比较运算符和使用在 Select Case 语句中的 Is 关键字并不相同。
也可以针对字符串指定范围和多重表达式。在下面的例子中,Case 所匹配的字符串为:等于 everything、按英文字母顺序落入从 nuts 到 soup 之间的字符串、以及 TestItem 所代表的当前值。
Case "everything", "nuts" To "soup", TestItem。
Select Case 语句也可以是嵌套的。但每个嵌套的 Select Case 语句必须要有相应的 End Select 语句。
Select Case 语句示例。
本示例使用 Select Case 语句来判断变量的值。示例中第二个 Case 子句包含了变量值,故只有此区块内的语句会被完成到。
Dim NumberNumber = 8 ' 设置变量初值。
Select Case Number ' 判断 Number 的值。
Case 1 To 5 ' Number 的值在 1 到 5 之间,包含1 和 5 。
Debug.Print "Between 1 and 5"。
' 下一个 Case 子句是本示例中唯一判断值为 True 的子句。
Case 6, 7, 8 ' Number 的值在 6 到 8 之间。
Debug.Print "Between 6 and 8"。
Case 9 到 10 ' Number 的值为 9 或 10。
Debug.Print "Greater than 8"。
原文地址:http://www.qianchusai.com/select%E8%AF%AD%E5%8F%A5%E4%B8%ADcase.html