欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    VBA编程基础讲义.doc

    • 资源ID:78900443       资源大小:146KB        全文页数:20页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VBA编程基础讲义.doc

    VBA编程基础8.1 模块的基本概念 模块是access系统中的一个重要对象,它以VBA( Visual Basic for Applications )为基础编写,以函数过程(Function)和子过程(Sub)为单元的集合方式存储。在access中,模块分为类模块和标准模块两种类型。8.1.1 类模块窗体和报表模块都是类模块,而且它们各自与某一窗体或报表相关联。窗体和报表模块通常都含有事件过程,该过程用于响应窗体或报表中的事件。可以使用事件过程来控制窗体或报表的行为,以及它们对用户操作的响应,例如:用鼠标单击某个命令按钮。 为窗体或报表创建第一个事件过程时,Microsoft Access将自动创建与之关联的窗体或报表模块。如果要查看窗体或报表的模块,请单击窗体或报表“设计”视图中工具栏上的“代码”命令。 窗体或报表模块中的过程可以调用已经添加到标准模块中的过程。 窗体和报表模块具有局部特性,其作用范围局限在所属窗体和报表内部,而生命周期则是伴随着窗体和报表的打开而开始,关闭而结束。8.1.2 标准模块标准模块一般用于存放供其他access数据库对象使用的公共过程。在系统中可以通过创建新的模块对象而进入其代码设计环境。标准模块通常安排一些公共变量或过程供类模块里的过程调用。在各个标准模块内部也可以定义私有变量和私有过程仅供本模块内部使用。标准模块中的公共变量和公共过程具有局部特性,其作用范围在整个应用程序里,而生命周期则是伴随着应用程序的运行而开始,关闭而结束。8.1.3 将宏转换为模块在Access系统中,根据需要可以将设计好的宏对象转换为模块代码的形式。 8.2 创建模块 过程是模块的组成单元,由VBA代码编写而成。过程分两种类型:Sub子过程和Function函数过程。8.2.1 在模块中加入过程模块是装着VBA代码的容器。在窗体和报表的设计视图中,单击工具栏“代码”按钮或者创建窗体和报表的事件过程可以加入类模块的设计和编辑窗口。单击数据库窗体中的“模块”对象标签,然后单击“新建”按钮即可进入标准模块的设计和编辑窗口。一个模块包含一个声明区域,且可以包含一个或多个子过程或函数过程。 1、Sub过程(子过程)执行一系列操作,无返回值。定义格式如下:Sub 过程名程序代码End Sub可以引用过程名来调用该子过程。此外,VBA提供了一个关键字Call,可显示调用一个子过程。2、Function过程(函数过程)执行一系列操作,有返回值。定义格式如下:Function 过程名 As(返回值)类型程序代码End Function函数过程不能使用Call来调用执行,需要直接引用函数过程名,并直接在函数过程名后的括号所辨别。8.2.2 在模块中执行宏在模块的过程定义中,使用DoCmd对象的RunMacro方法,可以执行设计好的宏。其调用格式为:         DoCmdRunMacro MacroName ,RepeatCount,RepeatExpression 其中MacroName表示当前数据库中宏的有效名称;RepeatCount为可选项,用于计算宏运行次数的整数值;RepeatExpression也是可选项,为数组表达式,在每一次运行宏时进行计算,结果为False(0)时,停止运行宏。 8.3 VBA程序设计基础 VBA是Microsoft Office内置的编程语言,是根据Visual Basic简化的宏语言,其基本语法、词法与Visual Basic基本相同,因而具有简单、易学的特点。与Visual Basic不同的是,VBA不是一个独立的开发工具,一般被嵌入到像Word、Excel、Access这样的软件中,与其配套使用,从而实现在其中的程序开发功能。8.3.1 面向对象程序设计的概念 1对象和集合 对象:在采用面向对象程序设计方法的程序中,程序处理的目标被抽象成了一个个对象,每个对象具有各自的属性、方法和事件。类:是对一类相似对象的定义和描述。因此类可看做是对象的模板,每个对象由类来定义。集合:是由一组对象组成的集合,这些对象的类型可以相同,也可以不同。Access有几十个对象,其中包括对象和对象集合。所有对象和对象集合按层次结构组织,处在最上层的是Application对象,即Access应用程序,其他对象或对象集合都处在它的下层或更下层。2属性和方法 对象的特征用属性和方法描述。属性:用来表示对象的状态,如窗体的Name(名称)属性、Caption(标题)属性等。方法:用来描述对象的行为,如窗体有Refresh方法,Debug对象有Print方法等。引用对象的属性或方法时应该在属性名或方法名前加对象名,并用对象引用符“.”连接,即对象.属性或对象.行为例如 DoCmd.OpenReport “教师信息“是指利用DoCmd对象的OpenReport方法打开报表“教师信息”3事件和事件过程 事件:是对象可以识别的动作,通常由系统预先定义事件过程:对象在识别了所发生的事件后执行的程序例如,下面的事件过程描述了单击按钮之后所发生的一系列动作。Private Sub Command1_Click() Me!Label1.Caption = “Access程序设计" Me!Text1 = ""End Sub8.3.2 VBA编程环境 一、 Visual Basic 编辑器Visual Basic 编辑器VBE(Visual Basic Editor)是编辑VBA代码时使用的界面。 VBE窗口主要由标准工具栏、工具窗口、属性窗口、代码窗口和立即窗口等组成。二、进入VBA编程环境 Access模块分成类模块和标准模块两种。 对于类模块,可以直接定位到窗体或报表,然后单击工具栏上的“代码”按钮进入;或定位到窗体、报表和控件上通过指定对象事件处理过程进入。其方法有两种:(1)右键单击控件对象,单击快捷菜单上的“事件生成器命令”,打开“事件生成器”对话框,选择其中的“代码生成器”,单击 “确定”按钮即可进入;(2)单击属性窗口的“事件”选项卡,选中某个事件直接单击属性右侧的“”按钮,打开“事件生成器”对话框,选择其中的“代码生成器”,单击“确定”按钮即可进入。 对于标准模块,有3种方法进入:(1)对于已存在的标准模块,只需从数据库窗体对象列表上选择“模块”,双击要查看的模块对象即可进入;(2)要创建新的标准模块,需要从数据库窗体对象列表上选择“模块”,单击工具栏上的“新建”按钮即可进入;(3)在数据库对象窗体中,选择“工具”菜单里“宏”子菜单的“Visual Basic编辑器”选项即可进入。 三、VBE环境中编写VBA代码 VBA代码是由语句组成的,一条语句就是一行代码。例如intCount=3 将3赋值给变量intCountDebug. Print intCount 在立即窗口打印变量intCount的值3Access的VBE编辑环境提供了完整的开发和调试工具。其中的代码窗口顶部包含两个组合框,左侧为对象列表,右侧为过程列表。操作时,从左侧组合框选定一个对象后,右侧过程组合框中会列出该对象的所有事件过程,再从该对象过程列表选项中选择某个事件名称,系统会自动生成相应的事件过程模块,用户添加代码即可。 双击工程窗口中的任何类或对象都可以在代码窗口中打开相应代码进行编辑处理。 四、程序语句书写原则8.3.3 数据类型和数据库对象一、标准数据类型(1)布尔型数据布尔型数据只有两个值True或False。布尔型数据转换为其他类型数据时,Ture转换为-1,False转换为0;其他类型数据转换为布尔型数据时,0转换为False,其他类型转换为Ture。(2)日期型数据“日期/时间”类型数据必须前后用“#”号封住。如#2007-1-1#、#2002-5-4 14:30:00 PM#。(3)变体类型数据变体类型数据是特殊的数据类型。VBA中规定,如果没有显示声明或使用符号来定义变量的数据类型,则默认为变体类型。二、用户定义的数据类型 应用过程中可以建立包含一个或多个VBA标准数据类型的数据类型,这就是用户定义数据类型。它不仅包含VBA的标准数据类型,还包含其他用户定义的数据类型。 (1) 用户定义数据类型的定义:用户定义数据类型可以在Type . End Type关键字间定义,定义格式如下:         Type数据类型名             域名As数据类型             域名As数据类型               End Type 如:Type Student Id As Integer ' 学号 Name As String * 20 ' 姓名 Sex As String * 1 ' 性别 End Type(2)自定义类型变量的声明声明形式: Dim 变量名 As 自定义数据类型名 例:Dim Stu1 As Student(3)自定义类型变量的使用自定义类型变量的元素引用形式:变量名.元素名 例:给Stu1变量中的姓名、性别赋值:Stu1.Name=“张三”Stu1. Sex = “男”三、数据库对象 8.3.4 变量与常量变量是程序运行过程中值会发生变化的数据。如同一间旅馆客房,昨天可住旅客A,今天住旅客B,明天又有可能被闲置。变量的命名规则如下:(1)以字母或汉字开头,后可跟字母、数字或下划线。(2)变量名最长为255个字符。(3)不区分变量名的大小写,不能使用关键字。(4)字符之间必须并排书写,不能出现上下标。以下是合法的变量名: a,x, x3, BOOK_1,sum5以下是非法的变量名:  3s s*T -3x bowy-1 if 常量是在程序中可以直接引用的实际值,其值在程序运行过程中不变。在VBA中,常量可以分为3种:直接常量、符号常量和系统常量一、变量的声明 VBA变量声明有两种方法。1、显式声明VBA中定义变量的格式为:Dim 变量名 AS 类型 格式中Dim是一个VBA命令,此处用于定义变量;As是关键字,此处用于指定变量的数据类型。 例如:Dim bAge as Integer bAge为整型变量2、隐含声明VBA允许用户在编写应用程序时,不声明变量而直接使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。例如:Dim m,n, m,n为变体Variant变量 NewVar=528 NewVar为Variant类型变量,其值为258。二、强制声明 在默认情况下,VBA允许在代码中使用未声明的变量,如果在模块设计窗口的顶部“通用声明”区域中,加入语句: Option Explicit 强制要求所有变量必须定义才能使用。这种方法只能为当前模块设置了自动变量声明功能,如果想为所有模块都启用此功能,可以单击菜单命令“工具”下“选项”对话框中,选中“要求变量声明”选项即可。三变量的作用域 (1)局部范围(Local)在 Sub End Sub或Function End Function范围内部使用Dim、StaticAs关键字声明的变量就是局部范围的,出了Sub End Sub或Function End Function范围内就无效了,只在过程内部可见。(2)模块范围(Module)变量定义在模块的所有过程之外的起始位置,运行时在模块所包含的所有子过程或函数过程中可见。在模块的通用说明区,用Dim、Static、PrivateAs关键字定义的变量作用域都是模块范围。(3)全局范围(Public)在标准模块的所有过程之外的起始位置,用PublicAs关键字说明的变量就属于全局的范围,运行时在类模块和标准模块的所有子过程或函数过程中都可见。变量的持续时间(生命周期)是从变量定义语句所在的过程第一次运行,到程序代码执行完毕并将控制权交回调用它的过程为止的时间。注:关于变量的补充说明1、当局部变量和模块变量同名,或局部变量和全局变量同名时,在Sub End Sub或Function End Function范围内只认自己内部定义的局部变量,而将同名的模块变量和全局变量隐藏起来。例:2、在Sub子过程或Function函数过程中用Dim、static声明的变量的不同:(1)Dim声明的是动态变量,每次调用要重新分配内存并初始化,调用完Sub子过程或Function函数过程就回收该变量的内存。(2)Static声明的是静态变量,只有第一次调用时才分配内存和初始化,第二次及之后的调用都不再初始化。只能整个程序关闭了,才回收该变量的内存。例子:Sub s1() Dim x1 As Integer Static x2 As Integer x1 = x1 + 1 x2 = x2 + 1 Debug.Print "x1=" & x1 Debug.Print "x2=" & x2 End Sub Sub s2() s1 Call s1 s1End Sub运行子过程s2后的输出结果为:x1=1x2=1x1=1x2=2四数据库对象变量Access建立的数据库对象及其属性,均可被看成是VBA程序代码中的变量及其指定的值来加以引用。 例如,Access中窗体和报表对象的引用格式为: Forms !窗体名称 !控件名称 .属性名称或 Reports !报表名称 !控件名称 .属性名称关键字Forms或Reports分别表示窗体或报表对象集合。感叹号“!”分隔开对象名称和控件名称。“属性名称”部分缺省,则为控件基本属性。如果对象名称中含有空格或标点符号,就要用方括号把名称括起来。五数组数组是在有规则的结构中包含一种数据类型的一组数据,也称作数组元素变量。数组变量由变量名和数组下标构成,使用数组必须先定义数组。通常用Dim语句来定义数组,定义格式为: 格式1: Dim 数组名(下标上界) As <数据类型>格式2: Dim 数组名(下标下界 TO 下标上界) As <数据类型>注:缺省情况下,下标下界为0,数组元素从“数组名(0)”至“数组名(最大下标)”;如果使用to选项,则可以安排非0下界。 一维数组的元素个数=下标上界-下标下界+1dim score(10)as Integer 11个元素dim score(1 to 10)as Integer 10个元素注:(1)所有数组元素在内存连续存放 (2)根据下标区分数组元素关于数组的定义,还有下面的几点说明:(1)定义数组时数组名的命名规则与变量名的命名规则相同。(2)一般在定义数组时应给出数组的上界和下界。但也可以省略下界,<下界>缺省 为0。例如,Dim a(10) As Single默认情况下,数组a由11个元素组成。若希望下标从1开始,可在模块的通用声明段使用Option Base语句声明。其使用格式为Option Base 0|1 ' 后面的参数只能取 0 或 1(3)<下界>和<上界>不能使用变量,必须是常量,常量可以是字面常量或符号常量,一般是整型常量。(4)如果省略As子句,则数组的类型为Varient变体类型。二维数组的定义 使用Dim语句定义二维数组格式1: Dim 数组名(一维下标上界,二维下标上界) As <数据类型>格式2: Dim 数组名(一维下标下界 TO一维下标上界, 二维下标下界 TO二维下标上界 ) As <数据类型>例如,Dim c(1 To 3, 1 To 4)As Single 12个元素c(1,1)c(1,2)c(1,3)c(1,4)c(2,1)c(2,2)c(2,3)c(2,4)c(3,1)c(3,2)c(3,3)c(3,4)Dim C(1,2) As Integer 6个元素六、变量标识命名法规在编写VBA程序代码时,会用到大量的变量名称和不同的数据类型。对于控件对象,可以用VBA的Set关键字将每个命名的控件对象指定为一个变量名称。 目前,VB和VBA均推荐使用Hungarian符号法作为命名法则。该方法也被广泛用在C和C+等一些程序中。 Hungarian符号法使用一组代表数据类型的码。用小写字母作为变量名的前缀。 七符号常量如果程序中多处用到某个常量,将其定义成符号常量可增加代码的可读性,也便于维护。符号常量用关键字Const来定义,格式如下: Const 符号常量名称=常量值 例如: Const PI as single=3.定义了一个符号常量PI,其值为3.若是在模块的声明区中定义符号常量,则建立一个所有模块都可以用的全局符号常量。一般是Const前加Global或Public关键字。 八系统常量 这是一类特殊的符号常量,Access系统内部包含若干个启动时就建立的系统常量,有True、False、Yes、No、On、Off和Null等。在编码时可以直接使用。 例如:VBA类库中,vbRed代表红色,vbBlue代表蓝色。这里开始的两个字母表示所在的类库Access类库的常量以ac开始,如acForm等。ADO类库的常量以ad开始,如adOpenKeyset。8. 3.5 常用标准函数在VBA中,除在模块创建中可以定义子过程与函数过程完成特定功能外,又提供了近百个内置的标准函数,可以方便完成许多操作。 标准函数一般用于表达式中,有的能和语句一样使用。其使用形式如下:         函数名(参数1,参数2,参数3,参数4,参数5) 其中,函数名必不可少,函数的参数放在函数名后的圆括号中,参数可以是常量、变量或表达式,可以有一个或多个,少数函数为无参函数。 8.3.6 运算符和表达式 在VBA编程语言中,提供了许多运算符来完成各种形式的运算和处理。根据运算不同,可以分成4种类型的运算符:算术运算符、关系运算符、逻辑运算符和连接运算符。 8.4 VBA流程控制语句一个语句是能够完成某项操作的一条命令。VBA程序的功能就是由大量的语句串命令构成。 VBA程序语句按照其功能不同分成两大类型: (1)声明语句,用于给变量、常量或过程定义命名;(2)执行语句,用于执行赋值操作,调用过程,实现各种流程控制。 执行语句分为3种结构: (1)顺序结构,按照语句顺序顺次执行。 (2)条件结构,又称为选择结构,根据条件选择执行路径。 (3)循环结构,重复执行某一段程序语句。 8.4.1 赋值语句赋值语句是最基本的语句。它的功能是给变量或对象的属性赋值。其格式为<变量名><表达式> 或 <对象名.属性><表达式>例如:Rate = 0.1 给变量Rate赋值0.1Me!Text1.Value = “Access程序设计" “给控件的属性赋值8.4.2 条件语句1IfThen 语句 例如: 语句格式为If <表达式> Then <语句块1>End If输入一个数并在立即窗口输出其值Dim x As Integerx = InputBox("请输入x的值:")If x Then Debug.Print xEnd If2IfThenElse 语句 语句格式为If <表达式> Then <语句块1>Else <语句块2>End If说明:(1)<表达式>可以是任何表达式,一般为关系表达式或布尔表达式。如果是其他表达式,则非0认为是True,0认为是False。(2)执行时,先判断表达式的值,为True则执行语句块1,否则执行语句块2。例如:(1)输入两个数并在立即窗口输出其中较大的数Dim x As Integer, y As Integerx = InputBox("请输入x的值:")y = InputBox("请输入y的值:")If x > y Then Debug.Print xElse Debug.Print yEnd If(II)If x>0 Then Msgbox “x>0” Else Msgbox “x<=0”(III) 在窗体中有一个文本框Test1,编写事件代码如下:Private Sub Form_Click()X= val (Inputbox(“输入x的值”)Y= 1If X<>0 Then Y= 2Text1.Value = YEnd Sub打开窗体运行后,在输入框中输入整数12,文本框Text1中输出的结果是A)1B)2C)3D)4(IV)若窗体中已有一个名为Command1的命令按钮、一个名为Label1的标签和一个名为Text1的文本框,且文本框的内容为空,然后编写如下事件代码: Private Function f(x As Long ) As Boolean If x Mod 2 = 0 Then f = True Else f = False End If End FunctionPrivate Sub Command1_Click( ) Dim n As Long n = Val(Me!text1) Date() Str() Mid() Len() p = IIf(false, "Even number", "Odd number") Me!Label1.Caption = n & " is "& p 21 & “ is ” & "Odd number" End Sub 窗体打开运行后,在文本框中输入21,单击命令按钮,则标签显示内容为 “21 is Odd number” 。3IfThenElseIf 语句 语句格式为If <表达式1> Then <语句块1>ElseIf <表达式2>Then <语句块2>ElseIf <表达式n>Then <语句块n>Else <语句块 n+1> End If运行时,从表达式1开始逐个测试条件,当找到第一个为True的条件时,即执行该条件后所对应的语句块。例:x=10 If x<0 Then Msgbox “x<0” ElseIf x=0 Then Msgbox “x=0” ElseIf x<100 Then Msgbox “0<x<100” Else Msgbox “x>=100” End If4Select CaseEnd Select 语句 语句格式为Select Case <变量或表达式> Case <表达式1> 语句块1 Case <表达式2> 语句块2 Case Else 语句块n+1End Select说明:(1)Select Case后的变量或表达式只能是数值型或字符型表达式。(2)执行过程是先计算Select Case后的变量或表达式的值,然后从上至下逐个比较,决定执行哪一个语句块。如果有多个Case后的表达式列表与其相匹配,则只执行第一个Case后的语句块。(3)语句中的各个表达式列表应与Select Case后的变量或表达式同类型。各个表达式列表可以采用下面的形式· 表达式: a +5· 用逗号分隔的一组枚举表达式: 2, 4, 6, 8 · 表达式1 To 表达式2 60 to 100· Is 关系运算符表达式 Is < 60例如:(I)X=10 Select Case xCase Is <0Msgbox “x<0”Case 0Msgbox “x=0”Case Is <100 Msgbox “0<x<100” Case Else Msgbox “x>=100”End Select(II) 下列不是分支结构的语句是 A. If.Then.EndIf B. While.WEnd C. If.Then.Else.EndIf D. Select.Case.End Select5条件函数 除了上述条件语句外,VBA还提供了3个函数来完成相应选择操作: (1)IIf函数: IIf(条件式,表达式1,表达式2)。 该函数根据“条件式”的值来决定函数返回值。 “条件式”值为真,函数返回“表达式1” 的值,“条件式”值为假,函数返回“表达式2” 的值。Max=IIf(a>b,a,b) 当a=1,b=2,则Max=?(2)Switch函数: Switch(条件式1,表达式1,条件式2,表达式2,条件式3,表达式3,条件式n,表达式n) 该函数是分别根据“条件1”,“条件2”直至“条件n”的值来决定函数的返回值。 y=Switch(x>0,1,x=0,0,x<0,-1) 当x=-2则y=?(3)Choose函数:Choose(索引式,选项1,选项2,选项n) 该函数式根据“索引式”的值来返回选项列表中的某个值。 y=Choose(x,5,m+1,n) 当x=1,m=2,n=3时,y=? x=2,m=2,n=3时,y=?x=4,m=2,n=3时,y=?8.4.3 循环语句循环控制结构也叫重复控制结构。特点是程序执行时,该语句中的一部分操作即循环体被重复执行多次。循环语句可以实现重复执行一行或几行程序代码。VBA支持以下循环语句结构: (l)ForNext语句。 (2)DoLoop语句。 (3)WhileWend语句。 1For-Next循环语句 语句格式为For <循环变量><初值> to <终值> Step <步长> <循环体> Exit For <语句块>Next <循环变量>说明:(1)循环控制变量的类型必须是数值型。(2)步长可以是正数,也可以是负数。如果步长为1,Step短语可以省略。(3)根据初值、终值和步长,可以计算出循环的次数,因此For语句一般用于循环次数已知的情况。(4)使用Exit For语句可以提前退出循环。例 (I)编程用For语句求1+2+3+10之和 Public Sub gc2() Dim s As Integer, i As Integer s=0 For i = 1 To 10 Step 1 s = s + i Next i Debug.Print sEnd Sub(II) 在窗体中有一个名为Command12 的命令按钮,Click 事件的代码如下:该事件所完成的功能是:接受从键盘输入的10 个大于0 的整数,找出其中的最大值和对应的输入位置。请依据上述功能要求将程序补充完整。Private Sub Command12_Click( )max=0max_n=0For i=1 To 10num=Val(InputBox("请输入第"& i &"个大于0 的整数:")If (num>max)Thenmax= _max_n= _End IfNext iMsgBox("最大值为第"& max_n&"个输入的"& max)End Sub(III)在窗体中有一个命令按钮run35,对应的事件代码如下:Private Sub run35_Enter( )Dim num As IntegerDim a As IntegerDim b As IntegerDim i As IntegerFor i=1 To 10num=InputBox("请输入数据:","输入",1)If Int(num/2)=num/2 Thena=a+1Elseb=b+1End IfNext iMsgBox("运行结果:a="& Str(a)&: ",b="& Str(b)End Sub运行以上事件所完成的功能是A)对输入的10 个数据求累加和B)对输入的10 个数据求各自的余数,然后再进行累加C)对输入的10 个数据分别统计有几个是整数,有几个是非整数D)对输入的10 个数据分别统计有几个是奇数,有几个是偶数2Do WhileLoop语句 形式如下:Do While <条件> 循环体 Exit Do 语句块Loop说明:(1)这里的条件可以是任何类型的表达式,非0为真,0为假。(2)执行过程是:在每次循环开始时测试条件,对于Do While语句,如果条件成立,则执行循环体的内容,然后回到Do Whlie处准备下一次循环;如果条件不成立,则退出循环。(3)Exit Do语句的作用是提前终止循环。例如 :下面的程序用Do WhileLoop语句求1+2+3+10之和。Dim s As Integer, i As Integers = 0i = 1Do While i <= 10 s = s + i i = i + 1LoopDebug.Print s3Do UntilLoop语句 形式如下:Do Until <条件> 循环体 Exit Do 语句块Loop说明:(1)这里的条件可以是任何类型的表达式,非0为真,0为假。(2)执行过程是:在每次循环开始时测试条件,对于Do Until语句,如果条件不成立,则执行循环体的内容,然后回到Do Until处准备下一次循环;如果条件成立,则退出循环。(3)Exit Do语句的作用是提前终止循环。例如 :下面的程序用Do UntilLoop语句求1+2+3+10之和。Dim s As Integer, i As Integers = 0i = 1Do Until i > 10 s = s + i i = i + 1LoopDebug.Print s4DoLoop While语句 格式如下:Do 循环体 Exit Do 语句块Loop While<条件>说明:和Do WhileLoop不同的是, DoLoop While语句在每次循环结束时测试条件。因此,二者的区别是如果一开始循环条件就不成立,则Do WhileLoop中的循环体部分一次也不执行,而DoLoop While 中的循环体部分被执行一次。 5DoLoop Until语句 格式如下:Do 循环体 Exit Do 语句块Loop Until<条件>说明:和Do UntilLoop不同的是, DoLoop Until语句在每次循环结束时测试条件。因此,二者的区别是如果一开始循环条件就不成立,则Do UntilLoop中的循环体部分一次也不执行,而DoLoop Until中的循环体部分被执行一次。 6While-Wend语句 格式如下:While 条件式 循环体Wend说明:(1) While-Wend循环与 Do While Loop结构类似,但不能在While-Wend循环中使用Exit Do语句。(2)在VBA中,尽量不要使用While-Wend循环。8.4.4 其他语句-标号和GoTo语句 GoTo语句用于实现无条件转移。使用格式为:GoTo标号。 程序运行到此结构,会无条件转移到其后的“标号”位置,并从那里继续执行。GoTo语句使用时,“标号”位置必须首先在程序中定义好,否则转移无法实现。 8.5 过程调用和参数传递 过程是一段可以实现某个具体功能的代码 与函数不同,过程没有返回值 既可以在类模块中,也可以在标准模块中创建过程1子过程的定义和调用 可以用 Sub语句声明一个新的子过程、接收的参数和子过程代码。其定义格式为:Public|PrivateStatic Sub 子过程名(<形参>) <子过程语句> 语句块 Exit Su

    注意事项

    本文(VBA编程基础讲义.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开