Select Case e
Case e1
A组语句
Case e2
B组语句
……
Case Else
n组语句
End Select
2.说明
?e为测试表达式,可以是算术表达式或字符表达式,其值应是数字或字符型
?e1、e2等是测试项,取值必须与测试表达式的值类型相同,常用形式为:
?具体取值,用逗号隔开,如:1,5,9
?连续的范围:界1 TO 界2 ,如:12 To 20
?满足某个条件:Is运算符,如:Is>10
?三种形式可以组合使用
补充:关于is的用法
1、case is<5,is>10 正确,表示或的关系
case is>5 and is<10 用来表示并的关系不正确
若要用is表示并的关系,可以在select case中再嵌入select case
如:
Option Explicit
Dim a
Private Sub Form_Click()
a = Val(InputBox("成绩"))
Select Case a
Case Is > 80
Select Case a
Case Is < 90
Print "良"
End Select
End Select
End Sub
2、如果想用关系运算符来表示范围的话,可以按照顺序写select case事件。执行到满足条件的语句就会输出。
如:case is>90
print a
case is>80
print b
case is >70
print c
....
end select
3、组合示例
Select Case a
Case Is > 100,5,0 To 2,20 To 30
Print "真棒"
End Select
3.例题
题目:根据学生的成绩,判断其等级:
条件 | 成绩≥90 | 80≤成绩<90 | 70≤成绩<80 | 60≤成绩<70 | 成绩<60 |
等级 | 优秀 | 良好 | 中等 | 及格 | 不及格 |
程序代码:
Option Explicit
Private Sub Command1_Click()
Dim x As Integer '定义变量x为整形数
x = Val(Text1.Text) '把文本框Text1里显示内容通过Val函数转成数值型数据再赋值给变量x
Select Case x '测试表达式的值为x
Case Is >= 90 '测试表达式的值x大于等于90情况下
Text2.Text = "优秀"'文本框Text2中显示“优秀”
Case 80 To 90 '测试表达式的值x在80至90情况下
Text2.Text = "良好" '文本框Text2中显示“良好”
Case 70,71,72,73,74,75,76,77,78,79 '测试表达式的值x为70、71、72、73、74、75、76、77、78、79情况下
Text2.Text = "中等" '文本框Text2中显示“中等”
Case 60,61,62,63 To 66,Is >= 67 '测试表达式的值x为60、61、62、63、在64至66情况下、大于等于67的情况下
Text2.Text = "及格" '文本框Text2中显示“及格”
Case Else '测试表达式的值x在其它情况下
Text2.Text = "不及格"'文本框Text2中显示“不及格”
End Select
End Sub
'以下代码是清除文本框Text1、Text2中所显示的内容,且将焦点放在文本框Text1上
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Sub
Private Sub Command3_Click() EndEnd Sub