版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章VBA程序设计语言
——VBA流程控制语句8-3引言上一节课主要学习了VBA的基本语法知识,重点内容是数据类型、表达式、函数等的使用。要使程序能够完成复杂的判断和程序控制必须使用程序语言提供的程序控制语句。本节课将学习VBA语言提供的多种程序控制语句的使用格式和基本语法举例。第8章VBA程序设计语言
——VBA流程控制语句
教学内容选择控制语句If选择控制语句多分支SelectCase语句条件函数循环控制语句DO循环语句For循环语句第8章VBA程序设计语言
——VBA流程控制语句
学习目标认知目标:了解掌握选择控制语句和循环控制语句的书写格式能力目标:能够选择控制语句和循环控制语句进行程序设计(重点、难点)一、选择控制语句
1、If选择控制语句选择控制语句的作用是根据条件是否成立选择不同语句或程序段执行。1.If选择控制语句If选择控制语句的格式有3种:单分支双分支多分支一、选择控制语句
1、If选择控制语句--单分支选择控制语句单分支选择控制语句主要有以下两种格式。【格式1】If<条件表达式>Then语句序列【格式2】If<条件表达式>Then
语句序列EndIf一、选择控制语句
1、If选择控制语句--单分支选择控制语句单分支选择控制语句的执行流程如下:一、选择控制语句
1、If选择控制语句--单分支选择控制语句【例8-1】若变量dj里已存入商品的单价,变量sl里已存入购买商品的数量,当购买数量大于等于10时,商品打9折,求购买商品应付金额。代码如下:je=sl*djIfsl>=100Thenje=je*0.9或可以写为je=sl*djIfsl>=100Thenje=je*0.9EndIf一、选择控制语句
1、If选择控制语句--双分支选择控制语句双分支选择控制语句主要有以下两种格式。【格式1】If<条件表达式>Then语句序列1Else语句序列2【格式2】If<条件表达式>Then
语句序列1Else
语句序列2EndIf一、选择控制语句
1、If选择控制语句—双分支选择控制语句双分支选择控制语句的执行流程如下:一、选择控制语句
1、If选择控制语句--双分支选择控制语句【例8-2】假设变量x里已存入某个数值,若x≥0,计算x的平方根,x<0时计算x的绝对值。代码如下:Ifx>=0Theny=sqr(x)Elsey=abs(x)或可以写为Ifx>=0Theny=sqr(x)Elsey=abs(x)EndIf一、选择控制语句
1、If选择控制语句—多分支选择控制语句多分支选择控制语句书写格式如下If<条件表达式1>Then<语句序列1>Elseif<条件表达式1>Then<语句序列2>……Else<语句序列n+1>EndIf一、选择控制语句
1、If选择控制语句—多分支选择控制语句多分支选择控制语句的执行流程如下一、选择控制语句
1、If选择控制语句—多分支选择控制语句【例8-3】变量strc中存放了一个字符,判断该字符是字母、数值还是其它字符。代码如下:Ifucase(strc)>="A"anducase(strc)<="Z"Thenxs=strc&"是字母字符"Elseifstrc>="0"andstrc<="9"Thenxs=strc&"是数字字符"Elsexs=strc&"是其它字符"EndIf一、选择控制语句
2、多分支SelectCase语句多分支SelectCase语句书写格式:SelectCase表达式
Case值1语句序列1Case值2语句序列2……Case值n语句序列n[Caseelse语句序列n+1]EndSelect一、选择控制语句
2、多分支SelectCase语句【例8-4】用SelectCase语句实现上例功能。代码如下:SelectCasestrcCase
"a"to"z","A"to"Z"xs=strc&"是字母字符"Case
"0"to"9"xs=strc&"是数字字符"Caseelse
xs=strc&"是其它字符"EndSelect一、选择控制语句
2、多分支SelectCase语句【例8-5】假定变量score中输入某学生一单科成绩,求该科成绩的对应等级,90-100分为A等,80-89分为B等,70-79分为C等,60-69分为D等,0-60分为E等。代码如下。Ifscore>100orscore<0ThenMsgbox"输入成绩非法,成绩应在0—100之间"ElseSelectCasescoreCase
90to100dj="A"Case
80to89dj="B"一、选择控制语句
2、多分支SelectCase语句Case
70to79dj="C"Case
60to69dj="D"Caseelsedj="E"EndSelectEndIf
一、选择控制语句
3、条件函数----IIf()函数VBA还有3个函数具有选择功能,他们是IIf函数、Switch函数和Choose函数。(1)IIf()函数IIf()函数根据条件返回不同值其调用格式为:IIf(条件,表达式1,表达式2)一、选择控制语句
3、条件函数----IIf()函数条件为真时函数返回<表达式1>的值,条件为假时函数返回<表达式2>的值。例如:IIf(month(出生日期)=month(now),"本月生日","不是本月生日")上述函数的作用是:
将变量“出生日期”的月份跟当前月份比较,若相同,则函数值取“本月生日”,否则函数值取“不是本月生日”。一、选择控制语句
3、条件函数----Switch()函数Switch()函数调用格式:Switch(条件1,表达式1[,条件2,表达式2…[,条件n,表达式n]])
该函数作用:根据不同条件成立与否决定函数的返回值。函数依次判断条件1、条件2……条件n,直到出现条件为真(True)时,返回对应的表达式的值。如果其中有部分不成对,则会产生一个运行错误。一、选择控制语句
3、条件函数----Switch()函数例如:y=Switch(x>0,1,x=0,0,x<0,-1)上述语句的作用是:
当x>0时,变量y赋值为1
当x=0时,变量y赋值为0
当x<0时,变量y赋值为-1一、选择控制语句
3、条件函数----Choose函数Choose函数调用格式:Choose(索引式,选项1[,选项2,…[,选项n]])该函数根据“索引式”的值来返回选项列表中的某个选项值。例如:y=Choose(x,"一等奖","二等奖","三等奖")上述语句的作用是:当x=1时,变量y赋值为“一等奖”当x=2时,变量y赋值为“二等奖”当x=3时,变量y赋值为“三等奖”一、选择控制语句
3、条件函数----拓展对于条件函数IIf函数Switch函数Choose函数什么情况下,条件函数可以代替分支语句?二、循环控制语句
1、DO循环语句当某一程序段需要反复执行时,可以用循环结构来实现。VBA提供了DO循环和FOR循环两种语句。1.DO循环语句DO循环语句有两种形式:先判断后执行的循环语句先执行后判断的循环语句二、循环控制语句
1、DO循环语句--先判断后执行的循环语句先判断后执行的循环语句有两种格式Dowhile…LoopDountil…Loop【格式1】Dowhile条件
循环体(语句序列)[Exitdo]LoopDowhile…Loop语句流程图二、循环控制语句
1、DO循环语句--先判断后执行的循环语句【格式2】Dountil条件
循环体[Exitdo]Loopuntil…Loop语句流程图二、循环控制语句
1、DO循环语句--先判断后执行的循环语句【说明】①对于Dowhile语句,循环开始先检查循环条件是否成立,条件为真则执行循环体,遇到Loop语句,程序返回循环开始处重新判断条件,条件为真继续执行循环体,直到条件为假循环结束。②对于Dountil语句,与Dowhile语句不同的是,当条件为假时执行循环体,直到条件为真时循环结束③循环体中若执行到Exitdo语句就强行中止循环的执行。【注意】对于先判断后执行的循环语句,循环体有可能一次也不执行。二、循环控制语句
1、DO循环语句--先执行后判断的循环语句先执行后判断的循环语句有两种格式:Do…LoopwhileDo…Loopuntil【格式1】Do
循环体[Exitdo]Loopwhile条件Do…Loopwhile语句流程图二、循环控制语句
1、DO循环语句--先执行后判断的循环语句【格式2】Do
循环体[Exitdo]Loopuntil条件Do…Loopuntil语句流程图二、循环控制语句
1、DO循环语句--先执行后判断的循环语句【说明】①对于DoLoopwhile语句,先执行循环体,遇到Loop语句时判断条件是否成立,若条件为真,再次执行循环体,条件为假时循环结束。②对于DoLoopuntil语句,先执行循环体,遇到Loop语句时判断条件是否成立,若条件为假,再次执行循环体,条件为真时循环结束。【注意】对于先执行后判断的循环体语句,循环体至少执行一次。二、循环控制语句
1、DO循环语句---举例【例8-6】将26个大写英文字母赋值给变量strx。代码如下。DimstrxAsStringDimiAsIntegeri=1strx=""Dowhilei<=26strx=strx+Chr(i+64)i=i+1Loop二、循环控制语句
1、DO循环语句---举例该例也可以写为DimstrxAsStringDimiAsIntegeri=1strx=""Dostrx=strx+Chr(i+64)i=i+1Loopwhilei<=26二、循环控制语句
DO循环语句---------例题拓展本例中若使用until,需如何修改条件?二、循环控制语句
2、For循环语句For循环语句一般用于循环次数已知的循环操作,其语法格式如下。For循环变量=初值To终值[Step步长]
循环体ExitforNext二、循环控制语句
2、For循环语句For循环语句的执行流程如图所示二、循环控制语句
2、For循环语句【说明】(1)先将初值赋给循环变量,再将循环变量的当前值与终值做比较,依据步长值的不同做不同的比较:当步长大于0时要判断循环变量的当前值是否小于终值,当步长小于0时判断循环变量的当前值是否大于终值。二、循环控制语句
2、For循环语句(2)比较结果为真时执行语句序列,遇到Next语句先为循环变量增加一个步长,并再将循环变量的当前值与终值做比较,比较结果为真继续执行语句序列,直到比较结果为假就结束循环。(3)步长为0时将导致循环无法结束,因此步长不要设置为0。步长可以是整数或小数,还可以省略,省略时步长为1。(4)Exitfor为强制中止循环语句。二、循环控制语句
2、For循环语句-----举例【例8-7】用For语句求1~10的整数和。代码如下。DimsAsInteger,iAsIntegers=0fori=1to10s=s+iNextMsgboxs,64,"结果为"二、循
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工噪音污染防治方案
- 真布病患者的健康教育
- 急救护理中的急救远程医疗
- 控油皮肤的护理工具
- 电光性眼炎的护理要点
- 2026年都市圈交通基础设施重大项目谋划与储备指南
- 2026年智算中心网络安全保障数据加密访问控制方案
- 特种设备基础知识的分类和管理要求
- 2026年食疗按摩改善脾胃虚弱实操技巧养生培训课件
- 2026年社区防骗知识讲座
- 地下室顶板行车与堆载验算与加固方案(完整资料)
- 婚礼当天详细流程
- GB/T 8629-2001纺织品试验用家庭洗涤和干燥程序
- GB 20904-2007水平定向钻机安全操作规程
- 土方平衡方案
- 毛笔字教学讲解课件
- 包头医学院临床麻醉学教案
- 系统解剖8动脉
- 大班课件《有序排队》
- 新苏教版小学科学一年级下册教案(全套)
- 全国勘察设计mjz[2007]6fj
评论
0/150
提交评论