模块和VBA程序设计.ppt
2.DoWhile…Loop功能:当条件式结果为真时,重复执行循环体。当条件式结果为假或执行到ExitDo时,结束循环。语句格式:DoWhile条件式循环体[条件语句序列Loop循环结构ExitDo结束条件语句序列]8.4VBA程序的流程控制结构8.4VBA程序的流程控制结构循环结构2.DoWhile…Loop例:用DoWhile…Loop语句计算1~100之间数的和。DimiAsIntegerDimSumAsIntegeri=1DoWhilei=100 Sum=Sum+i i=i+1Loop8.4VBA程序的流程控制结构循环结构3.DoUntil…Loop语句功能:DoUntil…Loop循环结构是当条件式值为假时,重复执行循环体。当条件式值为真,结束循环。语句格式:DoUntil条件式循环体[条件语句序列ExitDo结束条件语句序列]Loop8.4VBA程序的流程控制结构循环结构3.DoUntil…Loop例8-12输入若干个学生成绩以-l为结束标志,求这些成绩的平均值。单击“模块”对象,添加模块,编写过程代码,运行过程。数组是一组具有相同属性和相同类型的数据,并用统一的名称作为标识的数据类型,这个名称称为数组名,数组中的每个数据称为数组元素,或称为数据元素变量。数组元素在数组中的序号称为下标,数组元素变量由数组名和数组下标组成,例如,A(1)、A(2)、A(3)表示数组A的3个元素。8.5数组8.5数组数组在使用之前也要进行定义格式:Dim数组名([下标下限to]下标上限,[下标下限to]下标上限)[As数据类型]例:DimA(10)AsIntegerDimB(1To10)AsIntegerDimc(1to3,1to5)AsInteger注意:OptionBase1‘数组的默认下标下限设置为1OptionBase0‘数组的默认下标下限设置为08.5.1数组的声明8.5数组8.5.2数组的使用例8-13:输入任意10个学生的成绩,输出大于平均成绩的数据。PrivateSubcmdStart_Click()Dima(10)AsSingle,S!,av!ForI=1To10a(I)=InputBox(请输入第I个数)S=S+a(I)txt1=txt1a(I)NextIav=S/10ForI=1To10Ifa(I)avThenTxt2=Txt2a(I)EndIfNextIEndSub8.5数组8.5.2数组的使用例8-13:输入任意10个学生的成绩,输出大于平均成绩的数据。PrivateSubcmdStart_Click()Dima(10)AsSingle,S!,av!ForI=1To10a(I)=InputBox(请输入第I个数)S=S+a(I)txt1=txt1a(I)NextIav=S/10ForI=1To10Ifa(I)avThenTxt2=Txt2a(I)EndIfNextIEndSub01一个过程在执行过程中可以调用另外一个过程,同时将参数传递过去。调用完成后,再回到本过程继续执行。02过程是一段独立的程序代码,用来执行特定任务,这段代码能被反复调用。模块包括一个声明区域和多个过程,过程是模块的组成单元。03过程名是标识符,命名规则与变量的命名规则相同。过程不能与模块重名,所有标准模块中的过程都不能重名,否则调用过程会出现混乱。04VBA根据是否有返回值将过程分为两类:Sub过程和Function过程。8.6过程调用与参数传递8.6过程调用与参数传递8.6.1S