欢迎来到天天文库
浏览记录
ID:39365031
大小:208.76 KB
页数:22页
时间:2019-07-01
《《vba补充》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、If语句的嵌套使用:指If或Else后面的语句块中又包含有If语句。语句格式为:If<条件表达式1>Then<语句块1>If<条件表达式11>Then<语句块11>EndIfEndIf【例1】比较3个数值变量x、y和z的值,通过交换,使得x>y>z。程序语句如下:IfxyIfyzIfx2、If注意:嵌套If语句应注意书写格式,为提高程序的可读性,多采用锯齿型。注意If与EndIf的配对。多个If嵌套,EndIf与它最近的If配对。【例2】判定学生总评成绩:SelectCaseVal(me!Zpcj)Caseis>=90me!Zpjg="优秀"Case80,81,82to89me!Zpjg="良好"Case70to79me!Zpjg="中等"Case60to69me!Zpjg="及格"CaseElseme!Zpjg="不及格"EndSelect又例如:Dimstrxasstring*1Sele3、ctCasestrxCase"A"to"Z","a"to"z"stry="英文字母"Case"!","?",",",".",";"stry="标点符号"CaseIs<68stry="字符的ASCII码值小于68"CaseElsestry="其他字符"EndSelect循环语句(1)DoWhile…Loop循环语句语法格式为:DoWhile条件表达式<语句块>[ExitDo]<语句块>Loop功能:DoWhile循环语句:当条件表达式结果为真时,执行循环体,直到条件表达式结果为假或执行到ExitDo语句而退出4、循环体。(2)DoUntil…Loop循环语句语法格式为:DoUntil条件表达式<语句块>[ExitDo]<语句块>LoopDoUntil循环语句:当条件表达式结果为假时,执行循环体,直到条件表达式结果为真或执行到ExitDo语句而退出循环体。(3)Do…LoopWhile循环语句语法格式为:Do<语句块>[ExitDo]<语句块>LoopWhile条件表达式说明:关键字While用于指明当条件为真(True)时,执行循环体中的语句。(4)Do…LoopUntil循环语句语法格式为:Do<语句块>[Exi5、tDo]<语句块>LoopUntil条件表达式说明:关键字Until用于指明当条件为真(True)前执行循环体中的语句。对于(1)和(2)循环语句先判断后执行,循环体有可能一次也不执行;而对于(3)和(4)循环语句为先执行后判断,循环体至少执行一次。在Do…Loop循环体中,可以在任何位置放置任意个数的ExitDo语句,随时跳出Do…Loop循环。如果ExitDo使用在嵌套的Do…Loop语句中,则ExitDo会将控制权转移到ExitDo所在位置的外层循环。当省略While或Until条件子句时,循环体结构6、变成如下格式:Do<语句块>[ExitDo]<语句块>Loop循环结构仅由Do...Loop关键字组成,表示无条件循环,若在循环体中不加ExitDo语句,循环结构为“死循环”。【例3】把26个小写英文字母赋给数组strx。Dimstrx(1to26)AsStringI=1DoWhileI<=26strx(I)=Chr(I+96)I=I+1Debug.printstrx(i)Loop5)For…Next循环语句主要用于循环次数已知的循环操作。语句格式为:For循环变量=初值To终值[step步长值]<语句块>7、[ExitFor]<语句块>Next循环变量功能:循环变量先被赋初值。判断循环变量是否在终值内,如果是,执行循环体,然后循环变量加步长值继续;如果否,结束循环,执行Next后的语句。说明:循环变量必须为数值型。step步长值:可选参数。如果没有指定,则step的步长值默认为1。注意:步长值可以是任意的正数或负数。一般为正数,初值应小于等于终值;若为负数,初值应大于等于终值;步长值不能为0,否则造成“死循环”。【例4】把26个大写英文字母赋给数组strx。Dimstrx(1to26)AsStringI=1Fo8、rI=1To26strx(I)=Chr(I+64)NextI说明:循环体结束后,循环变量的值为循环终值+步长值,上例循环结束后I值为27。【例5】分析下列程序的循环结构:ForK=5To10Step2K=K*2NextK按照公式计算,循环次数为:(10-5+1)/2=3次,但这是错误的。实际上,该循环的循环次数为只有1次(循环变量先后取值5和12,循环执行1次之后,循环变量值为12,超过终值10,循环结束)。【例
2、If注意:嵌套If语句应注意书写格式,为提高程序的可读性,多采用锯齿型。注意If与EndIf的配对。多个If嵌套,EndIf与它最近的If配对。【例2】判定学生总评成绩:SelectCaseVal(me!Zpcj)Caseis>=90me!Zpjg="优秀"Case80,81,82to89me!Zpjg="良好"Case70to79me!Zpjg="中等"Case60to69me!Zpjg="及格"CaseElseme!Zpjg="不及格"EndSelect又例如:Dimstrxasstring*1Sele
3、ctCasestrxCase"A"to"Z","a"to"z"stry="英文字母"Case"!","?",",",".",";"stry="标点符号"CaseIs<68stry="字符的ASCII码值小于68"CaseElsestry="其他字符"EndSelect循环语句(1)DoWhile…Loop循环语句语法格式为:DoWhile条件表达式<语句块>[ExitDo]<语句块>Loop功能:DoWhile循环语句:当条件表达式结果为真时,执行循环体,直到条件表达式结果为假或执行到ExitDo语句而退出
4、循环体。(2)DoUntil…Loop循环语句语法格式为:DoUntil条件表达式<语句块>[ExitDo]<语句块>LoopDoUntil循环语句:当条件表达式结果为假时,执行循环体,直到条件表达式结果为真或执行到ExitDo语句而退出循环体。(3)Do…LoopWhile循环语句语法格式为:Do<语句块>[ExitDo]<语句块>LoopWhile条件表达式说明:关键字While用于指明当条件为真(True)时,执行循环体中的语句。(4)Do…LoopUntil循环语句语法格式为:Do<语句块>[Exi
5、tDo]<语句块>LoopUntil条件表达式说明:关键字Until用于指明当条件为真(True)前执行循环体中的语句。对于(1)和(2)循环语句先判断后执行,循环体有可能一次也不执行;而对于(3)和(4)循环语句为先执行后判断,循环体至少执行一次。在Do…Loop循环体中,可以在任何位置放置任意个数的ExitDo语句,随时跳出Do…Loop循环。如果ExitDo使用在嵌套的Do…Loop语句中,则ExitDo会将控制权转移到ExitDo所在位置的外层循环。当省略While或Until条件子句时,循环体结构
6、变成如下格式:Do<语句块>[ExitDo]<语句块>Loop循环结构仅由Do...Loop关键字组成,表示无条件循环,若在循环体中不加ExitDo语句,循环结构为“死循环”。【例3】把26个小写英文字母赋给数组strx。Dimstrx(1to26)AsStringI=1DoWhileI<=26strx(I)=Chr(I+96)I=I+1Debug.printstrx(i)Loop5)For…Next循环语句主要用于循环次数已知的循环操作。语句格式为:For循环变量=初值To终值[step步长值]<语句块>
7、[ExitFor]<语句块>Next循环变量功能:循环变量先被赋初值。判断循环变量是否在终值内,如果是,执行循环体,然后循环变量加步长值继续;如果否,结束循环,执行Next后的语句。说明:循环变量必须为数值型。step步长值:可选参数。如果没有指定,则step的步长值默认为1。注意:步长值可以是任意的正数或负数。一般为正数,初值应小于等于终值;若为负数,初值应大于等于终值;步长值不能为0,否则造成“死循环”。【例4】把26个大写英文字母赋给数组strx。Dimstrx(1to26)AsStringI=1Fo
8、rI=1To26strx(I)=Chr(I+64)NextI说明:循环体结束后,循环变量的值为循环终值+步长值,上例循环结束后I值为27。【例5】分析下列程序的循环结构:ForK=5To10Step2K=K*2NextK按照公式计算,循环次数为:(10-5+1)/2=3次,但这是错误的。实际上,该循环的循环次数为只有1次(循环变量先后取值5和12,循环执行1次之后,循环变量值为12,超过终值10,循环结束)。【例
此文档下载收益归作者所有