vba程序流程控制语句

上传人:第*** 文档编号:54444960 上传时间:2018-09-13 格式:PPT 页数:32 大小:364.50KB
返回 下载 相关 举报
vba程序流程控制语句_第1页
第1页 / 共32页
vba程序流程控制语句_第2页
第2页 / 共32页
vba程序流程控制语句_第3页
第3页 / 共32页
vba程序流程控制语句_第4页
第4页 / 共32页
vba程序流程控制语句_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《vba程序流程控制语句》由会员分享,可在线阅读,更多相关《vba程序流程控制语句(32页珍藏版)》请在金锄头文库上搜索。

1、1,本节内容及要求: 1.熟练掌握行if语句、块if结构、Select Case情况选择结构有使用,掌握选择的嵌套结构; 2.熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环。,本章重点: 选择结构及循环结构的实现及其应用 本章难点: 选择的嵌套及多重循环结构,VBA程序流程控制语句,2,执行语句分为3种结构:,顺序结构:顺序结构是最基本的程序结构,按程序中语句编写的先后顺序逐条执行。 条件结构:根据条件选择运行的结果。 循环结构:对程序中的某段代码重复执行时,可以使用循环结构。,3,分支语句,Goto 语句 形式: Go To

2、标号|行号 作用是无条件地转移到标号或行号指定的那行语句. 标号是一个字符序列,行号是一个数字序列。 例如: Lp: goto lp,4,条件测试语句,IfThen语句(单分支结构) If Then 语句块 End If 或 If Then ,例:已知两个数x和y,比较它们的大小, 使得x大于y. If xy Then t=x : x=y: y=t End If 或 If xy Then t=x: x=y: y=t,5,条件测试语句,2. IfThenElse语句(双分支结构) If Then Else End If If Then Else ,双分支选择结构执行过程,6,条件测试语句,例如:

3、输出x,y两个中值较大的一个值。 IF X Y Then Print X Else Print Y End If 也可以写成如下的单行形式: IIF (X Y ,Print X , Print Y),7,条件测试语句,IfThenElseIf语句(多分支结构) 形式: If Then ElseIf Then Else 语句块 n+1 End If,8,条件测试语句,例:输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以为“不合格”,使用IF语句实现的程序段如下: If x=90 then Print “优秀“

4、ElseIf x=80 Then Print “良好“ ElseIf x=70 Then Print “中等“ ElseIf x=60 Then Print “及格“ Else Print “不及格“ End If,9,条件测试语句,4 . Select Case语句(情况语句) 形式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select,数值型或字符串表达式,10,条件测试语句,例如:将例 使用select case语句来实现的程序段如下: Select Case x Case 90

5、 to 100 Print “优秀“ Case 80 to 89 Print “良好“ Case 70 to 79 Print “中等“ Case 60 to 69 Print “及格“ Case Else Print “不及格“ End Select,11,条件测试语句,5. 选择结构的嵌套 下面是两种正确的嵌套形式: (1) IF Then IF Then Else End If . Else . IF Then Else End If End IF,(2) IF Then Select Case Case IF Then Else End If Case. End Select . En

6、d IF,12,(1)IIf函数 函数形式: Iif(表达式,当条件为True时的值,当条件为False时的值 例:求X、Y中大的数,并放入变量Tmax中: Tmax=Iif(XY, X, Y) (2)Choose函数 函数形式:Choose(整数表达式,选项列表) 如果整数表达式的值是1,则选择列表中的第1项,依次类推;如果小于1或大于列表项数时,则返回NULL。 例: 根据nub为1 -4的值,换算成不同的运算符: OP= Choose(nub,“”,“”,“”,“”),13,条件测试语句,注意:只要在一个分支内嵌套,不出现交叉,满足结 构规则,其嵌套的形式将有很多种,嵌套层次也可以任意

7、多。对于多层IF嵌套结构中,要特别注意IF与Else的配对 关系,一个Else必须与IF配结,配对的原则是:在写含有 多层嵌套的程序时,建议使用缩进对齐方式,这样容易阅 读和维护。,14,循环语句,循环结构 1. For循环语句 (一般用于循环次数已知) 形式: For 循环变量初值 to 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量,15,循环语句,循环次数,例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I,循环执行次数 : 4 输出I的值分别为: 2 5 8 11 出了循环输出为: I=14,16,循

8、环语句,例 编程计算:S=1+2+3+100,Dim S%, I% S=0 累加前变量S为0 For I=1 to 100 S=S+I Next I Print “ S=“,S,17,【例】求阶乘n!,循环语句,18,编写程序代码。 Private Sub Command1_Click() Dim n As Integer,i As Integer Dim result As Long result=1 n=CInt(text1.text) If n=0 Then Label2.Caption=“请输入正整数!“ Exit Sub 结束过程 End if For i=1 To n result

9、=result*i Next i Label2.Caption=Str(n)+“!=“+Str(result) End Sub,循环语句,19,循环语句,DoLoop循环语句,形式1:(当型循环) Do While|Until 语句块 Exit Do 语句块 Loop,20,循环语句,形式2:(直到循环) Do 语句块 Exit Do 语句块 Loop While|Until ,21,循环语句,Do UntilLoop执行过程 DoLoop Until执行过程,22,循环语句,说明: (1)当使用While构成循环时,当条件为“真”,则反复执行循环体,当条件为“假”,则退出循环。 (2)当使用

10、Until 构成循环时,当条件为“假”,则反复执行循环体,直到条件成立,即为“真”时,则退出循环。,(3)在循环体内一般应有一个专门用来改变条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立(或成立),最后达到退出循环。 (4)语句Exit Do的作用是退出它所在的循环结构,它只能用在DO/Loop结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。,23,【例】用DoLoop循环结构实现求和sum=1+2+3+100。,编写代码如下:,24,解法一:采用当型循环Do WhileLoop Private Sub Command1_Click() Di

11、m i As Integer,sum As Integer i=1 计数器初值置为1 sum=0 累加器初值置为0 Do While i=100 当型循环 sum=sum+i i=i+1 每次循环变量加1 Loop Label2.Caption=Str(sum) End Sub,25,解法二:采用直到型循环DoUntilLoop Private Sub Command1_Click() Dim i As Integer,sum As Integer i=1 计数器初值置为1 sum=0 累加器初值置为0 Do Until i100 sum=sum+i i=i+1 Loop Label2.Cap

12、tion=Str(sum) End Sub,26,循环结构(续3),【例】利用Do循环求1+2+100和。 Dim sum As Integer, i As Integer sum = 0 i = 1 Do Until i 100 Sum = Sum + i i = i + 1 Loop Debug.Print sum,27,循环语句,WhileWend语句 使用格式如下: While Wend 说明:该语句的功能与Do While .Loop实现的循环完全相同。,28,循环语句,例(补充) 求两个整数的最大公约数、最小公倍数,Dim n%,m%,nm%,r% m=Val(InputBox(“

13、m=“) n=Val(InputBox(“n=“) nm=n*m If m 0) m=n n=r r= m mod n Loop Print “最大公约数=“, n Print “最小公倍数=“, nm/n,算法流程图,29,循环语句,循环的嵌套多重循环结构 如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。 上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:,30,循环语句,(1)For I=. For J=. . Next J Next I,(2)For I=. Do While/Until . . Loop Next I,(3)Do While. For J=. . Next J Loop,(4)Do While/Until. Do While/Until . . Loop Loop,31,循环语句,例如:打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i Next j Picture1.Print Next i,32,【例】求130间的全部素数。,分析:素数是只能被1和它本身整除的正整数。例如,17是一个素数,它只能被1和17整除。素数又成为质数。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号