VB编程之Select Case语句

本文介绍VB中一种选择结构——Slect Case语句。

Select Case语句也称为情况语句,是多分支结构的另一种表示形式。

语句格式如下:
Select Case语句的功能是首先计算<测试表达式>的值,然后用计算结果从前到后依次与每个Case子句的<表达式列表>的值进行比较。

如果匹配成功,则执行该Case子句后的语句块,然后执行End Select语句。

如果没有匹配的,且存在Case Else语句则执行Case Else子句后的语句块n+1,然后执行End Select语句。

<表达式列表>有4种形式:
1,表达式
如:Case 5 或 Case "a"
2,表达式1 To 表达式2
Case 1 to Case 20或Case "A" to "Z"
3,Is关系运算符表达式
如:Case Is<60
4,用逗号分隔的以上3种形式的列表
如:Case 1 to3,10 to 15 ,6,9,Is>100
说明:
To用来指定一个范围,必须将小的值写在前面,而大的值写的后面
Is及后面的关系运算符和表达式来指定一个数值范围。

如Is>50 ,但是不能用两个或多个组合在一起,例如Case Is>10 And Is<20,这是错误的表达形式Select Case语句与If语句功能类型,一般情况下可以相互替换。

举例:
要求:编程求指定某年某月的天数。

如下图所示;
分析:月份天数有3种情况,即31天、30天、29天或28天。

第3种情况与是否为闰年有关,闰年的2月为29天,非闰年的2月为28天。

闰年是能被4整除但不能被100整除的年(如2004年),或者能被400整除的年(如2000年)。

步骤一:按照上图设计程序界面。

步骤二:添加代码,如下所示
步骤三:
测试效果,输入年份和月份后,单击求天数按钮即可计算出该月的天数。

合集下载

最新Vb_程序的选择结构select_case结构教学内容

最新Vb_程序的选择结构select_case结构教学内容
Case Is < 0: MsgBox "有两个共轭复根 "
End Select End If End Sub
内容小结
1.熟记select case语句书写结构,理解执行过程。 2. 注意select case 语句中表达式细节 3. Select case 语句应用环境,与if语句的转换
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好! 谢谢!
Case 0: Picture1.Print "X1=X2="; -B / (2 * A)
Case Is > 0 X1 = (-B + Sqr(Delta)) / (2 * A) X2 = (-B - Sqr(Delta)) / (2 * A) Picture1.Print "X1="; X1, "X2="; X2
End Select
【例3】求一元二次方程ax2+bx+c=0的解 。
分析:
(1) 如果a=0;b=0,则方程无解,提示重新输入系数; b0,则 x=-c/b
(2) 如果a0; b2-4ac=0 ,则有两个相等的实根 b2-4ac>0, 则有两个不等的实根 b2-4ac<0, 则有两个共轭复根
Private Sub Command1_Click() A = Val(Text1.Text): B = Val(Text2.Text)
C = Val(Text3.Text): Picture1.Cls If A = 0 Then
If B = 0 Then MsgBox "系数为零,请重新输入"
Else X = -C / B: Picture1.Print "X="; X

理解VB中选择语句SelectCase结构的最好例子

理解VB中选择语句SelectCase结构的最好例子
End Sub
'以下代码是程序退出
Private Sub Command3_Click() End
End Sub
Case Else
'测试表达式的值x在其它情况下
Text2.Text = "不及格" '文本框Text2中显示“不及格”
End Select End Sub
'以下代码是清除文本框Text1、Text2中所显示的内容,且将焦点放在文本框Text1上
Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Te78、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 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、

Vb 程序的选择结构select case结构

Vb 程序的选择结构select case结构

【例】求一元二次方程ax2+bx+c=0的解 。
分析:
(1) 如果a=0;b=0,则方程无解,提示重新输入系数; b0,则 x=-c/b (2) 如果a0; b2-4ac=0 ,则有两个相等的实根 b2-4ac>0, 则有两个不等的实根 b2-4ac<0, 则有两个共轭复根
Private Sub Command1_Click() A = Val(Text1.Text): B = Val(Text2.Text) C = Val(Text3.Text): Picture1.Cls If A = 0 Then If B = 0 Then MsgBox "系数为零,请重新输入" Else X = -C / B: Picture1.Print "X="; X End If Else Delta = B ^ 2 - 4 * A * C Select Case Delta Case 0: Picture1.Print "X1=X2="; -B / (2 * A) Case Is > 0 X1 = (-B + Sqr(Delta)) / (2 * A) X2 = (-B - Sqr(Delta)) / (2 * A) Picture1.Print "X1="; X1, "X2="; X2 Case Is < 0: MsgBox "有两个共轭复根 " End Select End If End Sub
程序的选择结构 ——select case结构
Private Sub Command1_Click() player = Text1.Text Select Case player ① Case "科比" MsgBox "洛杉矶湖人队;24号球衣", 0, "球队名称" ② Case "霍华德" MsgBox "休斯顿火箭队;12号球衣", 0, "球队名称" ③ Case "詹姆斯" MsgBox "迈阿密热火队;6号球衣", 0, "球队名称" · · Case Else MsgBox "NBA 没有这个球员", 0, "球队名称" · End Select End Sub

VBA中的SelectCase语句

VBA中的SelectCase语句

Selec‎t Case语‎句也是条件‎语句之一,而且是功能‎最强大的条‎件语句。

它主要用于‎多条件判断‎,而且其条件‎设置灵活、方便,在工作中使‎用频率极高‎。

本节介绍S‎e lect‎Case语‎句的语法及‎应用案例.Selec‎t Case语‎句的语法如‎下:Selec‎t Case teste‎x pres‎s ion[Case expre‎s sion‎l ist-n[state‎m ents‎-n]] ...[Case Else[elses‎t atem‎e nts]]End Selec‎tSelec‎t Case语‎句包括四部‎分,每部分详细‎含义如表3‎8-1所示。

表38-1Selec‎t Case语‎句各部分含‎义在以上语法‎列表中,省略号代表‎可以使用多‎个条件。

只要有一个‎C ase就‎需要有一个‎s tate‎m ents‎-n,表示条件及‎符合条件时‎的执行条件‎。

其中els‎e stat‎e ment‎s表示不符‎合指定条件‎时的执行语‎句,是可选参数‎。

可以忽略e‎l sest‎a teme‎n ts,也可以执行‎一条或者一‎组语句,为了让程序‎能够处理一‎些不可预见‎的情况,尽量使用e‎l sest‎a teme‎n ts语句‎处理不符合‎条件时该如‎何回应。

在Sele‎c t Case的‎多个参数中‎,最复杂的是‎e xpre‎s sion‎l ist-n部分,它有多种表‎达形式,包括:lExpr‎e ssio‎n——直接声明一‎个条件值,例如5lexpr‎e ssio‎n To expre‎s sion‎——声明一个条‎件的范围,例如5-10lIs compa‎r ison‎o pera‎t or——声明一种比‎较方式,例如is >5下面的实例‎可以展示参‎数中exp‎r essi‎o nlis‎t-n部分的多‎种表达形式‎。

实例1:多条件时间‎判断根据当前的‎时间判断是‎上午、中午,还是下午、晚上、午夜。

VBA编程中的SelectCase语句

VBA编程中的SelectCase语句

从上⾯的例予可以看出,如果条件复杂,分⽀太多,使⽤If语句就会显得累赘,⽽且程序也将变得不易阅读。

这时可使⽤Select Case语句来写出结构清晰的程序。

Select case语句可根据表达式的求值结果,选择执⾏⼏个分⽀中的⼀个分⽀。

其语法如下:
Select Case
[(;ase]
[]]
[case Else
[]]
End Select
(1)检验表达式必要参数,可为任何数值表达式或字符串表达式。

(2)⽐较列表1 若有case出现,则为必要参数。

它是多个“⽐较元素”的列表,其中可包含“表达式”、“表达式To表达式”、“Is 表达式’’⼏种形式。

如果“⽐较元素”中含有“To”关键字,则前⼀个表达式必须⼩于后⼀个表达式(对于数值表达式,指的是数值⼤⼩;对于字符串表达式,则指排序),且必须介于两个表达式之间。

如果含有“Is”关键字,则“⽐较操作符’’表达式的值必须为真。

(3)语句1~n可包含⼀条或多条语句。

如果有⼀个以上的Case⼦句与“检验表达式”匹配,则VBA只执⾏第⼀个匹配的Case后⾯的“语句”。

如果前⾯的case⼦句与都不匹配,则执⾏Case Else⼦句中的语句n。

vb中实现分支结构的语句

vb中实现分支结构的语句

vb中实现分支结构的语句在 VB 中,可以通过以下方式实现分支结构的语句:1. If...Then...Else 语句:```vbIf condition Then' 条件为真时执行的代码Else' 条件为假时执行的代码End If```2. Select Case 语句:```vbSelect Case expressionCase value1' 表达式等于 value1 时执行的代码Case value2' 表达式等于 value2 时执行的代码Case Else' 表达式不等于任何一个值时执行的代码End Select```3. Do...Loop 语句:```vbDo While condition' 条件为真时执行的代码Loop``````vbDo Until condition' 条件为假时执行的代码Loop``````vbDo' 无限循环,需要在循环体内部使用 Exit Do 来退出循环Loop```4. For...Next 语句:```vbFor counter = start To end Step stepValue' 在每次循环时 counter 递增/递减 stepValue 值,并执行循环体内的代码Next``````vbFor Each item In collection' 遍历集合中的每个元素,并执行循环体内的代码Next ```。

VB程序设计课件第7讲 select case 语句


5
例:变量strC中存放一个字符,判断是字母、数字 变量strC中存放一个字符,判断是字母、 strC中存放一个字符 字母 If Ucase(strC) >=“A” And Ucase (strC) <=“Z” Then Label1.Text = strC + "是字母字符 是字母字符" 是字母字符 ElseIf strC >="0" And strC <="9" Then Label1.Text = strC + "是数字字符 是数字字符" 是数字字符 Else Label1.Text = strC + "其他字符 其他字符" 其他字符 End If 用Select Case语句实现 语句实现
将测试表达式的值与各Case语句中的表达式值比 将测试表达式的值与各Case语句中的表达式值比 Case 决定执行哪个Case子句。 Case子句 较,决定执行哪个Case子句。仅仅执行第一个匹配的 语句,做完立即退出。 语句,做完立即退出。
3
“测试表达式”可以是数值、字符串表达式, 测试表达式”可以是数值、字符串表达式, 但不能为逻辑表达式。 但不能为逻辑表达式。 “表达式值 的几种形式: 表达式值” Case “表达式值”的几种形式:
优秀″ = ″优秀″ 良好″ = ″良好″ 通过″ = ″通过″ = ″不通过″ 不通过″
求三数中最大数 Public Sub Button1_Click( ) Val(InputBox(″请输入第一个数 请输入第一个数″)) a= Val(InputBox(″请输入第一个数″)) Val(InputBox(″请输入第二个数 请输入第二个数″)) b= Val(InputBox(″请输入第二个数″)) Val(InputBox(″请输入第三个数 请输入第三个数″)) c= Val(InputBox(″请输入第三个数″)) Max =a Max b>___(1)___ ___(1)___Then If b>___(1)___Then Max=b Max c>___(2)__ ___(2)___Then If c>___(2)___Then Max=c 最大数为″& Label1.Text = ″最大数为″& Max End Sub

ExcelVBA编程SelectCase语句

ExcelVBA编程SelectCase语句Excel VBA编程Select Case语句该语句的结构为选择程序结构,它根据表达式的值,来判断执行几组语句中的其中哪一个语句。

虽然前面介绍的IF…Then…Else结构比较简单,但是当添加太多的Else if子句时,会使代码变得繁琐。

Select Case是IF…Then…Else结构的一种变通形式,可使代码变得简练易读。

但是,并不是所有的多分支结构均可用Select Case语句代替If语句。

语法:Select Case testexpression[Case expressionlist-n[statements-n]] ...[Case Else[elsestatements]]End SelectSelect Case语句的语法具有以下几个部分:●testexpression 必要参数。

任何数值表达式或字符串表达式。

●expressionlist-n 如果有Case出现,则为必要参数。

其形式为expression,expression To expression,Is comparisonoperator expression的一个或多个组成的分界列表。

To关键字可用来指定一个数值范围。

如果使用T o关键字,则较小的数值要出现在T o之前。

使用Is关键字时,则可以配合比较运算符(除Is和Like之外)来指定一个数值范围。

如果没有提供,则Is关键字会被自动插入。

●statements-n 可选参数。

一条或多条语句,当testexpression 匹配expressionlist-n中的任何部分时执行。

●elsestatements 可选参数。

一条或多条语句,当testexpression不匹配Case子句的任何部分时执行。

下面的示例使用Select Case语句来判断变量的值。

Dim NumberNumber = 8 ' 设置变量初值。

Vb-程序的选择结构select-case结构


Label1. Caption = strC + "是数字字符"
Else
Label1. Caption = strC + “是其他字符"ห้องสมุดไป่ตู้
End If
将以上语句用Select Case语句实现
【例2】:评定成绩等级 90~100:“优”80~89:“良” 70~79:“中”60~69:“及格”
60分以下为“不及格”
2.测试表达式类型应与Case表达式类型一致
【例1】:变量strC中存放一个字符,判断是字母、数字
If Ucase(strC) >=“A” And Ucase (strC) <=“Z” Then
Label1.Caption= strC + "是字母字符"
ElseIf strC >="0" And strC <="9" Then
Is 关系运算表达式
Case is <30
数值或字符串表达式,表述固 定值之一
用来指定一个范围,较小的 在To前,较大在To后
可配合比较运算符来指定一 个数值范围,不能用逻辑运 算符将两个或多个简单条件 组合在一起
注意: 1. 以上几种形式可以混用, 例如: Case Is < -5 , 0 , 5 To 100
C = Val(Text3.Text): Picture1.Cls If A = 0 Then
If B = 0 Then MsgBox "系数为零,请重新输入"
Else X = -C / B: Picture1.Print "X="; X
End If Else

VB6.0SelectCase语句

VB6.0SelectCase语句语法Select Case <指⽰变量或表达式>Case <情形1><语句组1>Case <情形2><语句组2>....Case <情形n><语句组n>Case Else<默认语句组,以上语句组都因情形不符合实际时执⾏>End Select其中,表述情形的关键字,有IS和TO,多个情形要并列在⼀起时,使⽤逗号(英⽂)连接。

当省略Case Else语句并且语句组都因情形不符合实际时,语句的执⾏,会直接到达End Select。

如果在执⾏语句的时候,有需要跳过没有必要再执⾏的语句⽽直接结束Select Case的情况时,请使⽤exit select。

注意在“<指⽰变量或表达式>”不是True或False关键字时,逻辑运算(And、Or、Not)会没有意义。

因为逻辑运算的结果是True或False,不是表述具体情况的值或者范围。

需要⽐较⼤⼩时,请使⽤IS、To关键字。

以上为了给出⼀个能够通⽤的语法⽽如此表述。

在“<指⽰变量或表达式>”是True或False关键字时,Is、To关键字没有意义。

以上两种情况,切记不要搞混。

嵌套各语句组中也可以写⼊完整的Select Case语句,像For循环中嵌套⼀个⼆级循环⼀样。

别误会,Select Case不是循环语句,是条件选择语句,与IF...ELSEIF...ELSEIF...END IF类似。

基本⽤法Private Sub main()Select Case InputBox("请输⼊你希望的天⽓,从晴天、多云、阴天、阵⾬、⼩⾬、⼩雪、冰雹中选⼀个填⼊。

", "请输⼊你希望的天⽓", "晴天")Case "晴天"MsgBox "哇哦!你喜欢的是晴天啊,祝你天天好⼼“晴”~!"Case "多云"MsgBox "喜欢多云的天⽓,是因为⽐较怕紫外线吗?"Case "阴天"MsgBox "为什么喜欢阴天呢?真令⼈好奇啊~!"Case "阵⾬"MsgBox "为什么喜欢阵⾬天呢?真令⼈好奇啊~!"Case "⼩⾬"MsgBox "为什么喜欢⼩⾬天呢?真令⼈好奇啊~!"Case "⼩雪"MsgBox "为什么喜欢⼩雪天呢?真令⼈好奇啊~!"Case "冰雹"MsgBox "为什么喜欢冰雹天呢?真令⼈好奇啊~!"Case ElseMsgBox "不可以酱紫!只能从我给出的⼏种中挑选⼀个填⼊!"End SelectEnd Sub<以上代码在VB6.0测试通过>使⽤关键字ISPrivate Sub main()Select Case Day(Now)Case Is <= 10MsgBox "⽬前是本⽉上旬!"Case Is > 20MsgBox "⽬前是本⽉下旬!"Case ElseMsgBox "⽬前是本⽉中旬!"End SelectEnd Sub<以上代码在VB6.0测试通过>使⽤关键字TOPrivate Sub main()Select Case Weekday(Now)Case 1, 7MsgBox "今天是周末!"Case 2 To 6MsgBox "今天不是周末!"End SelectEnd Sub<以上代码在VB6.0测试通过>关键字IS和TO可以根据需要,在同⼀条情形中⼀起使⽤,例如Case Is<=5,8 to 10,Is>20不过要注意的是,TO表⽰的区间,是闭区间,不适⽤于开区间(或半闭半开区间)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档