全国创新杯说课大赛获奖课件VB选择结构 之Select Case语句
- 格式:ppt
- 大小:5.23 MB
- 文档页数:31
可视化编程V B-S e l e c t-C a s e语句-案例1、请根据下列描述,编写财务部门征收劳务酬金所得税程序,规定如下:(1)收入小于1000元,扣税3%。
(2)收入在1000~3000元之内(不含3000元),1000元以上部分扣税15%。
(3)收入在3000~5000元之内(不含5000元),3000元以内按(2)的方法扣税,3000元以上部分扣税20%。
(4)当收入达到5000元以上(含5000元),扣税25%。
2、设计程序计算商场货物的应付金额。
要求用户选择会员卡的种类后,输入物品单价和购买数量,单价“计算”按钮,显示折扣额和应付金额。
(注:钻石卡7折,白金卡8折,银卡9折)操作要求:3、生肖查询:设计一个查询十二生肖的应用程序,其界面如下图所示(提示:十二生肖排序是鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪)1、Private Sub Command1_Click()Dim x!, y!x = Val(Text1)Select Case xCase Is < 1000y = x * 0.03Case Is < 3000y = 1000 * 0.03 + (x - 1000) * 0.15Case Is < 5000y = 1000 * 0.03 + 2000 * 0.15 + (x - 3000) * 0.2 Case Elsey = x * 0.25End SelectText2 = yEnd Sub2、Private Sub Command1_Click()Dim dj!, n%, p!, s!dj = Val(Text1.Text)n = Val(Text2.Text)Select Case Combo1.TextCase "钻石卡"p = 0.7Case "白金卡"p = 0.8Case "银卡"p = 0.9End SelectText3.Text = ps = dj * n * pText4.Text = sEnd SubPrivate Sub form_load()Combo1.AddItem "钻石卡"Combo1.AddItem "白金卡"Combo1.AddItem "银卡"End Sub3、Private Sub Command1_Click()Dim year%, a%, s$year = Val(Text1.Text)a = year Mod 12Select Case aCase 1s = "鸡"Case 2s = "狗"Case 3s = "猪"Case 4s = "鼠"Case 5s = "牛"Case 6s = "虎"Case 7s = "兔"Case 8s = "龙"Case 9s = "蛇"Case 10s = "马"Case 11s = "羊"Case 0s = "猴"End SelectLabel3.Caption = s End Sub。
本文介绍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 表达式2Case 1 to Case 20或Case "A" to "Z"3,Is关系运算符表达式如:Case Is<604,用逗号分隔的以上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年)。
步骤一:按照上图设计程序界面。
步骤二:添加代码,如下所示步骤三:测试效果,输入年份和月份后,单击求天数按钮即可计算出该月的天数。
vba select case用法VBA的Select Case语句用于根据表达式的值选择执行不同的代码块。
它可以替代多个嵌套的If语句,结构更清晰,代码更简洁。
Select Case语句的基本语法如下:```Select Case expressionCase value1'执行代码块1Case value2'执行代码块2Case value3'执行代码块3Case Else'执行代码块4(可选项)End Select```expression为需要进行判断的表达式,value1, value2等为表达式可能的取值。
当expression的值与某个Case后面指定的值相等时,将会执行对应的代码块。
如果表达式的值与任何一个Case语句后面指定的值都不相等,则执行可选的Case Else代码块,如果没有指定Case Else,则不执行任何代码。
拓展:1. Case语句可以使用范围值进行比较,例如:```Case 1 To 10'执行代码块```这表示当expression的值在1到10之间(包括1和10)时,执行对应的代码块。
2. Case语句还可以使用逻辑运算符组合多个条件,例如:```Case Is > 10 And Is < 20'执行代码块```这表示当expression的值大于10且小于20时,执行对应的代码块。
3.在Case语句中,可以使用多个表达式对应同一个代码块,例如:```Case "A", "B", "C"'执行代码块```这表示当expression的值为"A"、"B"或者"C"时,执行对应的代码块。
4.可以在代码块中使用Exit Select语句来提前退出Select Case 语句的执行。
VBA Select Case语句用法与案例教程VBA(Visual Basic for Applications)是一种基于Microsoft Visual Basic的宏语言,专门用于在Microsoft Office应用程序中进行编程和自定义。
在VBA中,Select Case语句是一种非常有用的控制流语句,用于根据一个表达式的值来执行不同的代码块。
本文将详细介绍VBA中Select Case语句的用法,并通过案例教程来帮助读者更好地理解和应用这个功能。
1. Select Case语句的基本结构在VBA中,Select Case语句的基本结构如下:```vbaSelect Case 表达式Case 值1' 代码块1Case 值2' 代码块2Case 值3' 代码块3...Case Else' 默认代码块End Select```在这个结构中,首先根据表达式的值来进行匹配,如果匹配到某个值,就执行对应的代码块,如果没有匹配到任何值,则执行Case Else后面的代码块。
通过这种结构,我们可以在VBA程序中实现复杂的逻辑控制。
2. Select Case语句的用法Select Case语句可以用于比较表达式的值,以及执行相应的代码块。
在实际应用中,它通常用于处理多个条件的情况,使得代码更加清晰和易于维护。
举个例子,假设我们需要根据用户输入的成绩来判断其等级,可以使用Select Case语句来实现:```vbaSub GradeLevel(score As Integer)Select Case scoreCase 90 To 100MsgBox "优秀"Case 80 To 89MsgBox "良好"Case 70 To 79MsgBox "中等"Case 60 To 69MsgBox "及格"Case ElseMsgBox "不及格"End SelectEnd Sub```在这个例子中,根据用户输入的成绩,程序会判断其所在的等级,并弹出相应的信息框。
说说VBA中的SelectCase语句Select Case语句也是条件语句之一,而且是功能最强大的条件语句。
它主要用于多条件判断,而且其条件设置灵活、方便,在工作中使用频率极高。
本节介绍Select Case语句的语法及应用案例.Select Case语句的语法如下:Select Case testexpression[Case expressionlist-n[statements-n]] ...[Case Else[elsestatements]]End SelectSelect Case语句包括四部分,每部分详细含义如表38-1所示。
表38-1 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子句的任何部分时执行在以上语法列表中,省略号代表可以使用多个条件。
只要有一个Case就需要有一个statements-n,表示条件及符合条件时的执行条件。
其中elsestatements表示不符合指定条件时的执行语句,是可选参数。
可以忽略elsestatements,也可以执行一条或者一组语句,为了让程序能够处理一些不可预见的情况,尽量使用elsestatements语句处理不符合条件时该如何回应。
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表⽰的区间,是闭区间,不适⽤于开区间(或半闭半开区间)。
vb select case语句
VB(VisualBasic)中的SelectCase语句是一种流程控制语句,用于根据不同的条件执行不同的操作。
它基于条件语句,可以简化代码并提高可读性。
该语句的语法结构为:
Select Case expression
Case value1
statement1
Case value2
statement2
…
Case Else
statementN
End Select
其中,expression表示要检查的表达式,value1、value2等表示不同的条件值,statement1、statement2等表示针对不同条件值的操作语句,Case Else表示当所有条件都不满足时执行的语句。
在实际应用中,Select Case语句通常用于替代多个If语句,从而提高代码效率和可维护性。
通过对条件值的匹配,程序可以快速定位并执行相应的操作,避免了重复的判断和执行。
同时,该语句还支持嵌套使用,可以根据需要进行多级选择和操作。
需要注意的是,在使用Select Case语句时,应根据具体情况合
理选择条件值和操作语句,避免出现逻辑错误和代码冗余。
此外,建议添加注释和格式化代码,以便提高代码的可读性和可维护性。
vbselectcase语句VBSelectCase语句是Visual Basic编程语言中的一种控制结构,用于根据不同的条件执行不同的代码块。
它是一种灵活且易于阅读的方式来处理多个条件判断。
下面是一些关于VBSelectCase语句的例子,以展示其在实际应用中的用途和功能。
1. 根据用户输入的数字,判断其属于哪个等级(1-5),并输出相应的提示信息。
```VBDim num As IntegerConsole.WriteLine("请输入一个数字:")num = Console.ReadLine()Select Case numCase 1Console.WriteLine("您的等级为初级。
")Case 2Console.WriteLine("您的等级为中级。
")Case 3Console.WriteLine("您的等级为高级。
")Case 4Console.WriteLine("您的等级为专家级。
")Case 5Console.WriteLine("您的等级为顶级。
")Case ElseConsole.WriteLine("输入无效。
")End Select```2. 根据用户选择的颜色,设置窗体的背景色。
```VBDim color As StringConsole.WriteLine("请选择一个颜色(红/绿/蓝):") color = Console.ReadLine()Select Case colorCase "红"Me.BackColor = Color.RedCase "绿"Me.BackColor = Color.GreenCase "蓝"Me.BackColor = Color.BlueCase ElseConsole.WriteLine("无效的颜色选择。
#ExcelVBA#解读(22):方便的“多选一”结构——SelectCase结构人生经常要面临“多选一”的情况,在编写程序代码时也是如此。
在上篇文章中,我们讲解了使用If-Then结构来进行判断,也举了很多个小例子。
我们看到,随着条件的增多,代码的结构也变得复杂或难以理解。
幸运的是,VBA为我们提供了Select Case结构,让我们根据多个条件判断选择时,能够写出容易理解的代码。
上篇文章的结尾举了一个例子:按照一定的规则,根据员工的工龄来确定员工的年休假天数:工龄(年)年休假天数10年及以下 510~20 1020~25 1525年以上20现在,我们使用Select Case结构来编写代码,实现相同的功能。
首先看看示例代码:示例代码1Sub NianXiuTianWithSelectCase()'声明变量,用来表示年休天数和工龄Dim lngDays As LongDim lngYears As LonglngYears = Range('A1').Value'根据工龄确定相应的年休天数Select Case lngYearsCase 0 To 10lngDays = 5Case 10 To 20lngDays = 10Case 20 To 25lngDays = 15Case Is > 25lngDays = 20End SelectMsgBox '工龄:' &lngYears & vbCrLf & '年休天数:' &lngDays End Sub同样,您可以在工作表单元格A1中输入代表工龄的数字,运行代码后,会显示相应的年休天数,就像在上篇文章中所示的图一样。
与上篇文章中的代码相比,既简单又易理解。
Select Case结构的语法如下:Select Case 条件(表达式)[Case 表达式值1[语句块] ][Case 表达式值2[语句块] ]……[Case Else[语句块] ]End Select说明:•当某个Case“表达式值”满足“条件(表达式)”的结果时,执行相应的语句块,并退出Select Case结构。