saVBA程序设计基础.ppt_第1页
saVBA程序设计基础.ppt_第2页
saVBA程序设计基础.ppt_第3页
saVBA程序设计基础.ppt_第4页
saVBA程序设计基础.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章VBA程序设计基础 本章要点 1 VBA的基础知识2 在VBA中各种变量的定义及用法3 程序设计中的流程控制方法 10 1VBA编程环境在Access2003提供的 模块 数据库对象中 使用VBA VisualBasicforApplication 程序设计语言 在不同的模块中实现VBA代码设计 可以解决实际开发中的复杂应用 10 1 1认识VBAVB是微软公司推出的可视化BASIC语言 是一种编程简单 功能强大的面向对象开发工具 我们可以像编写VB程序那样来编写VBA程序 用VBA语言编写的代码 将保存在Access中的一个模块里 并通过类似在窗体中激发宏的操作那样来启动这个模块 从而实现相应的功能 要用Access2003来完成一个实际的数据库应用系统 就应该掌握VBA 10 1 2VBA编程环境 VBE窗口1 进入VBE VisualBasicEditor 窗口Access2003数据库中包含的程序模块可以分为两种类型 独立程序模块和绑定型程序模块 1 创建与编辑绑定型程序模块所谓绑定性程序模块是指包含在窗体 报表 页等数据库基本对象之中的事件处理过程 这样的程序模块仅在所属对象处于活动状态下有效 以窗体为例 编写命令按钮的 单击 Click 事件代码 打开VBE窗口 打开 选择生成器 对话框 2 编辑独立的程序模块独立程序模块 是指Access2003数据库中的 模块 对象 首先在数据库设计视图中选定 模块 对象 然后单击工具栏中的 代码 按钮 或者选择 工具 菜单下 宏 中的 VisualBasic编辑器 命令 也可以启动VBE 并使得VBE程序代码窗口中显示被选中的模块对象包含的程序代码 2 VBE窗口组成在VBA编程窗口中 主要有标准工具栏 工程窗口 属性窗口和代码窗口 1 标准工具栏 2 工程窗口也称工程资源管理器 一个数据库应用系统就是一个工程 系统中的所有类对象及模块对象都在该窗口中显示出来 3 属性窗口属性窗口列出了选定对象的属性 可以在设计时查看 改变这些属性 当选取了多个控件时 属性窗口会列出所有控件的共同属性 4 代码窗口代码窗口用来显示 编写以及修改VBA代码 实际操作中 可以打开多个代码窗口 查看不同窗体或模块中的代码 代码窗口之间可以进行复制和粘贴 10 1 3VBA代码窗口的使用双击工程窗口中的任何对象 都可以在代码窗口中打开该对象的对应模块代码 用户可以进行编写 修改与调试等处理 对象事件代码常用的设计方法是 1 在 对象 列表框选择要处理的对象 2 在 过程 事件 列表框选择需要设计代码的事件过程 3 选择某个事件过程后 系统将显示该事件过程代码 若有 或自动生成该事件的过程模板 用户可以做编写 修改和调试代码处理 1 对象浏览器 对象浏览器 用于显示对象库以及工程中的可用类 属性 方法 事件及常数变量 可以用它来搜索及使用既有的对象 或是来源于其他应用程序的对象 2 自动显示提示信息在代码窗口中输入命令代码时 系统会适时地自动显示命令关键字列表 关键字列表属性列表及过程参数列表等提示信息 可以选择或参考其中的信息 例如 使用Docmd对象 当输入 Docmd 时 系统会打开可选操作命令列表框 3 立即窗口在代码窗口中 使用 视图 菜单中的 立即窗口 命令可以打开立即窗口 4 本地窗口在代码窗口中 使用 视图 菜单中的 本地窗口 命令可以打开本地窗口 本地窗口自动显示出所有在当前过程中的变量声明及变量值 5 监视窗口在代码窗口中 使用 视图 菜单中的 监视窗口 命令可以打开 监视窗口 10 2模块的基础知识模块是将VisualBasicforApplications声明和过程作为一个单元进行保存的集合 模块有两个基本类型 类模块和标准模块 模块中的代码以过程的形式加以组织 每一个过程都可以是一个Function过程或一个Sub过程 10 2 1类模块窗体模块和报表模块都是类模块 而且它们各自与某一窗体或报表相关联 窗体和报表模块通常都含有事件过程 该过程用于响应窗体或报表中的事件 可以使用事件过程来控制窗体或报表的行为 以及它们对用户操作的响应 例如单击某个命令按钮 10 2 2标准模块标准模块一般用于存放公共过程 子过程和函数过程 不与其他任何Access对象相关联 在Access2003系统中 通过模块对象创建的代码过程就是标准模块 在标准模块中 通常为整个应用系统设置全局变量或通用过程 供其他窗体或报表等数据库对象在类模块中使用或调用 反过来 在标准模块的子过程中 也可以调用窗体或运行宏等数据库对象 标准模块中的公共变量和公共过程具有全局性 其作用范围为整个应用系统 10 2 3创建模块模块是以过程为单元组成的 一个模块包含一个声明区域及一个或多个子过程与函数过程 声明区域用于定义模块中使用的变量等内容 过程是包含VBA代码的基本单位 由一系列可以完成某项指定的操作或计算的语句和方法组成 通常分为 Sub过程 子程序 Function过程 函数 和Property过程 属性 1 Sub过程Sub过程 又称子过程 以关键词Sub开始 以EndSub结束 其定义语句语法格式为 Public Private Static Sub子过程名 As数据类型 ExitSub EndSub对于子过程 可以传送参数和使用参数来调用它 但不返回任何值 选用关键字Public 可使该过程能被所有模块的所有其他过程调用 选用关键字Private 可使该过程只能被同一模块的其他过程调用 上面列出的过程实际上是3个事件过程 子过程的名字是由一个对象的名字和一个事件的名字Click组成的 两者之间用下划线分开 上一条记录 即是 上一条 命令按钮的名字 当单击这个命令按钮时 就会运行这个事件过程 例10 1 在名为OpenCT控件的 单击 事件过程中 使用OpenForm方法打开 学生信息录入 窗体 2 Function过程Function过程 又称函数过程 以关键词Function开始 以EndFunction结束 其定义语句语法格式为 Public Private Static Function函数过程名 As数据类型 函数过程名 ExitFunction 函数过程名 EndFunction Function过程和Sub过程很类似 但它通常都具有返回值 在代码中可以一次或多次为函数名赋一个值来作为函数的返回值 选用关键字Static 只要含有这个过程的模块是打开的 则在这个过程中无论是显式或隐式说明的变量值都将被保留 As数据类型子句 定义函数过程返回的变量数据类型 若未定义 系统将自动赋给函数过程一个最合适的数据类型 例10 2 编写一个计算圆面积的函数过程Area 10 3面向对象程序设计基础10 3 1面向对象的程序设计概念面向对象技术提供了一个具有全新概念的程序开发模式 它将面向对象分析 OOA Object OrientedAnalysis 面向对象设计 OOD Object OrientedDesign 和面向对象程序设计 OOP Object OrientedProgramming 集成在一起 其核心概念是 面向对象 所谓面向对象 Object Oriented 可以这样定义 面向对象 对象 类 属性的继承 对象之间的通信 10 3 2对象和类的概念1 对象和类客观世界的任何实体都可以被看作是对象 每个对象都具有描述其特征的属性及附属于它的行为 属性用来表示对象的状态 方法用来描述对象的行为 属性和方法是与对象紧密联系的 对象 既可以是一个单一对象 也可以是对象的集合 属性与方法的引用方式为 对象 属性名或对象 方法名 引用中的 对象 描述 一般使用如下格式 父对象类名 子对象名 类是对一类相似对象的性质描述 这些对象具有相同的性质 相同种类的属性以及方法 类是对象的抽象 而对象是类的具体实例 在Access2003中 除表 查询 窗体 报表 页 宏和模块等7种对象外 还可以在VBA中使用一些范围更广泛的对象 例如 记录集 对象 DoCmd对象等 2 DoCmd对象DoCmd是Access2003数据库的一个重要对象 它的主要功能是通过调用Access内置的方法 在VBA中实现某些特定的操作 例如 利用DoCmd对象的OpenForm方法打开 学生信息录入 窗体 使用的语句格式为 DoCmd OpenForm 学生信息录入 10 4VBA编程基础10 4 1数据库对象数据库对象 如 数据库 表和查询以及应用程序对象 窗体和报表 在VBA中都有对应的数据类型 这些对象数据类型由对象库引用所定义 所有常用的VBA对象数据类型和对象库中所包括的对象 可在数据库对象中列出 如下表所示 10 4 2VBA中的基本数据类型VBA在数据类型和定义方式上均继承了传统的Basic语言的特点 Access2003数据表中的字段使用的数据 OLE对象和备注字段数据类型除外 在VBA中都有对应的类型 在定义方式上 除支持符号定义方式外 还支持使用关键字定义方式 VBA数据类型 关键字 符号 前缀 占用空间和取值范围如表10 2所示 1 数值型数据类型包括 Byte Integer Long Single Double和Currency 1 Byte以一个字节的无符号二进制数存储 取值范围为0 255 2 整数 integer和Long 整数是不带小数点和指数符号的数 在机器内以二进制补码形式表示 整型 Integer 长整型 Long 例如 345 345 345 均表示整型数 345 345 均表示长整型数 3 浮点数 single和Double 浮点数也称实型数或实数 是带有小数部分的数值 它由三部分组成 符号 指数和尾数 单精度型 Single 以4个字节存储 符号1位 指数8位 尾数23位 1位隐含位 用E来表示指数 双精度型 Double 以8个字节存储 符号1位 指数11位 尾数52位 1位隐含位 用D来表示指数 例如 345 345 12 0 345E 3均表示单精度浮点数 345 345 12 0 345E 3 0 345D 3均表示双精度浮点数 4 货币型 Currency 货币数据类型是为表示钱款而设置的 该类型数据以8个字节存储 精确到小数点后四位 小数点前有15位 小数点后4位以后的数字将被舍去 例如 345 345 12 均表示货币型数据 2 字符型数据类型字符串是一个字符序列 由ASCII字符组成 包括标准的ASCII字符和扩展ASCII字符及汉字等 VB中的字符串分为两种 即变长字符串和定长字符串 例如 345 Access2003程序设计 等均表示字符型数据 表示空字符串 表示有一个空格的字符 3 日期型数据类型日期型数据用来表示日期信息 按8字节的浮点数来存储 表示范围 日期范围为1000年1月1日到9999年12月31日 而时间范围为0 00 00 23 59 59 日期型数据有两种表示方法 一种是在字面上可被认为日期和时间的字符 表示格式为mm dd yyyy或mm dd yyyy 日期文字须以数字符号 括起来 例如 April1 2002 10 11 2005 2005 10 1110 30 00PM 另一种是以数字序列表示 当其他的数值类型要转换为Date型时 小数点左边的数字代表日期 而小数点右边的数字代表时间 0为午夜 0 5为中午12点 负数代表的是1899年12月31日之前的日期和时间 4 变体数据类型变体类型数据 Variant 是一种可变的数据类型 可以表示任何值 包括数值 字符串及日期等 变体类型数据可以包含Empty Error Nothing和Null特殊值 在使用时 可以使用VarType与TypeName函数来决定如何处理Variant中的数据 VBA规定 如果没有使用Dim As 数据类型 显式声明或使用符号来定义变量的数据类型 系统默认为变体类型 Variant 5 逻辑数据类型逻辑数据类型 Boolean 用于逻辑判断 亦称布尔型 其值为逻辑值 用两个字节存储 它只有True 真 或False 假 两个值 当逻辑数据转换成整型数据类型时 True转换为 1 False转换为0 当将其他类型数据换成逻辑数据时 非0数据转换为True 0转换为False 6 对象数据类型对象型数据 Object 用来表示图形 OLE对象或其他对象 用4个字节存储 对象变量可引用应用程序中的对象 7 用户定义的数据类型创建自定义的数据类型的语句是Type 用户自定义类型可包含一个或多个基本数据类型的数据元素 数组或一个先前定义的用户自定义类型 Type语句的基本格式 Private Public Type数据类型名元素1As数据类型 元素2As数据类型 EndType 10 4 3变量 常量与数组1 变量变量是指在程序运行过程中值会发生变化的数据 变量的三要素 变量名 变量类型 变量的值 变量的命名规则 对变量进行声明可以使用类型说明符号 Dim语句和DefType语句 1 隐含型变量隐式声明在使用一个变量之前并不必先声明这个变量 这个变量只在当前过程中有效 类型为变体数据类型 用户可以通过将一个值指定给变量名的方式来建立隐含型变量 例如 NewVar 1234 2 显式变量对变量进行声明可以使用类型说明符号 Dim语句和DefType语句 使用类型说明符号声明变量类型允许使用类型说明符号来声明常量和变量的数据类型 如 varXyz 是一个整型变量 123 则是一个整型常数 类型说明符号在使用时始终放在变量或常数的末尾 使用Dim语句声明变量声明变量的一般方法是用Dim As DataType 结构 其中As指定变量数据类型 Dim语句使用格式为 Dim变量名As 数据类型 DefType语句DefType语句只能用于模块级 即模块的通用声明部分 用来为变量和传送给过程的参数设置默认数据类型 以及为其名称以指定的字符开头的Function和PropertyGet过程 设置返回值类型 DefType语句使用格式 DefType字母 字母范围 使用变体类型声明变量数据类型可以使用上述三种方法 VBA在判断一个变量的数据类型时 按以下先后顺序进行 是否使用Dim语句 是否使用数据类型说明符 是否使用DefType语句 没有使用上述三种方法声明数据类型的变量默认为变体类型 Variant 2 常量常量是指在程序运行的过程中 其值不能被改变的量 常量的使用可以增加代码的可读性 并且使代码更加容易维护 在Access2003中 常量的类型有4种 直接常量符号常量固有常量系统定义常量 1 符号常量如果在代码中要反复使用相同的值 或者代表一些具有特定意义的数字或字符串 可以使用符号常量 符号常量使用Const语句来创建 例如 ConstconPI 3 14159265 2 固有常量固有常量以两个前缀字母指明了定义该常量的对象库 来自Access库的常量以 ac 开头 来自ADO库的常量以 ad 开头 而来自VisualBasic库的常量则以 vb 开头 例如 acForm adAddNew vbCurrency 3 系统定义常量系统定义的常量有三个 True False和Null 系统定义常量可以在计算机上的所有应用程序中使用 3 数组数组是由一组具有相同数据类型的变量 称为数组元素 构成的集合 数组变量由变量名和数组下标组成 在VBA中不允许隐式说明数组 可用Dim语句来声明数组 数组声明方式为 Dim数组名 下标下界to 下标上界 As数据类型下标下界的缺省值为0 数组元素为 数组名 0 至数组名 下标上界 如果设置下标下界非0 要使用to选项 在使用数组时 可以在模块的通用声明部分使用OptionBase来指定数组的默认下标下界是0或l 数组有两种类型 固定大小的数组和动态数组 前者总保持同样的大小 而后者在程序中可根据需要动态地改变数组的大小 1 固定大小的数组例如 DimIntArray l0 AsInteger这条语句声明了一个有11个整型数组元素的数组 数组元素从IntArray 0 至IntArray l0 每个数组元素为一个整型变量 这里只指定数组元素下标上界来定义数组 2 动态数组动态数组的定义方法是 先使用Dim来声明数组 但不指定数组元素的个数 而在以后使用时再用ReDim来指定数组元素个数 称为数组重定义 3 数组的使用数组声明后 数组中的每个元素都可以当作单个的变量来使用 其使用方法同相同类型的普通变量 数组元素的引用格式为 数组名 下标值 10 4 4数据库对象变量在Access2003数据库中建立的对象及其属性 均可被看成是VBA程序代码中的变量及其指定的值来加以引用 与普通变量不同的是要使用规定的引用格式 当需要多次引用对象时 可以先声明一个Control 控件 数据类型的对象变量 然后使用Set关键字建立对象变量指向的控件对象 语句使用格式如下 DimTxtxhblAsControl 定义对象变量 数据类型为Control 控件 数据类型SetTxtxhbl Forms Myform1 Txtxh 为对象变量指定窗体控件对象以后要引用控件对象 可转为引用对象变量 例如 Txtxhbl 3020503323 等同于 Forms Myform1 Txtxh 3020503323 10 4 5运算符与表达式1 运算符VBA中的运算符可分为4种类型 算术运算符 字符串运算符 关系运算符和逻辑运算符 1 算术运算符算术运算符是常用的运算符 用来执行简单的算术运算 VBA提供了8个算术运算符 2 字符串运算符字符串运算就是将两个字符串连接起来生成一个新的字符串 字符串运算符包括 运算符 运算符 运算符 用来强制两个表达式作字符串连接 需注意的是 由于符号 还是长整型的类型定义符 在字符串变量后使用运算符 时 变量与运算符 之间应加一个空格 运算符 两边的操作数可以是字符型 也可以是数值型 不管是字符型还是数值型 进行连接操作前 系统先进行操作数类型转换 数值型转换成字符型 然后再做连接运算 例10 6 运算符应用示例 运算符 用来连接两个字符串表达式 形成一个新的字符串 需注意的是 运算符要求两边的操作数都是字符串 例10 7 运算符应用示例 4321 1234 结果为5555 4321 1234 结果为 43211234 abcd 1234 出错4321 1234 100 结果为 5555100 3 关系运算符关系运算符也称比较运算符 用来对两个表达式的值进行比较 比较的结果是一个逻辑值 即真 True 或假 False 用关系运算符连接两个算术表达式所组成的表达式叫做关系表达式 VBA提供了9个关系运算符 IsLikeBetween And 4 逻辑运算符逻辑运算也称布尔运算 除Not是单目运算符外 其余均是双目运算符 由逻辑运算符连接两个或多个关系式 对操作数进行逻辑运算 结果是逻辑值True或False VBA的逻辑运算符有6种 2 对象运算 标识 符对象运算符 标识符 有 和 两种 使用对象运算符指示随后将出现的项目类型 1 运算符 2 运算符 3 表达式 1 表达式的组成表达式由字面值 常量 变量 运算符 函数 标识符 逻辑量和括号等按一定的规则组成 表达式通过运算得出结果 运算结果的类型由操作数的数据和运算符共同决定 2 表达式的书写规则 3 算术运算表达式的结果类型 4 运算优先级 10 4 6函数函数的主要特点是 具有参数 也有少量函数不需要参数 并返回值 其使用形式为 函数名 参数3 参数4 其中 参数可以是常量 变量或表达式 可以有一个或多个 每个函数被调用时 都会有一个返回值 需特别说明的是 根据函数的不同 参数与返回值都有特定的数据类型与之对应 内置函数按其功能可分为数学函数 转换函数 字符串函数 日期函数和格式输出函数 1 数学函数数学函数与数学中的定义一致 完成数学计算功能 2 转换函数转换函数主要实现数据类型的转换 有些转换函数能得到特定的值 如Asc 和Space 3 字符串函数字符串函数用来处理字符型变量或字符串表达式 4 日期 时间函数日期 时间函数用于处理日期和时间型表达式或变量 5 格式输出函数格式输出函数的作用是 使数值 日期或字符串按指定的格式输出 显示或打印 一般用于Print方法中 这里主要介绍Format 函数 函数格式 Format 表达式 格式符 其中 表达式为要格式化的数值 日期或字符串表达式 格式符指定格式的符号代码 在使用时要加引号 格式符分为3类 数值格式符 日期格式符和字符串格式符 1 数值格式符 2 日期 时间格式符 3 字符串格式化 6 其他常用函数 1 InputBox 函数用于VBA与用户之间的人机交互 InputBox 函数打开一个对话框 显示相应提示信息并等待用户输入内容 InputBox prompt title default xpos ypos helpfile context 2 Msgbox 函数与Msgbox过程在VBA中可以函数的形式调用 格式为 Msgbox prompt buttons title helpfile context Msgbox用于打开一个信息框 等待用户单击按钮并返回一整数值 告诉系统用户单击了哪一个按钮 若不需要返回值 可直接作为命令语句使用 显示提示信息 3 IIf 函数该函数可用于选择操作 调用格式为 IIf 条件表达式 表达式1 表达式2 功能 函数根据 条件表达式 的值来决定返回值 如果 条件表达式 的值为 真 True 函数返回 表达式1 的值 条件表达式 的值为 假 Flase 函数返回 表达式2 的值 例如 IIf cj 60 及格 不及格 4 Switch 函数该函数可用于多条件选择操作 调用格式为 Switch 条件式1 表达式1 条件式2 表达式2 条件式n 表达式n 功能 函数分别根据 条件式1 条件式2 直至 条件式n 的值来决定返回值 条件式是由左至右进行计算判断的 函数将返回第一个条件式为True的对应 表达式 的值 若函数中条件式与表达式不配对 则发生运行错误 若有多个条件式为真 True 函数返回为真的第一个条件式后的 表达式 的值 例如 y switch x0 sqr x 5 Choose 函数调用格式为 Choose 数值表达式 表达式1 表达式2 表达式n 功能 函数根据 数值表达式 的值决定返回值 若不考虑变量的小数的定义位数 当 数值表达式 值大于1 小于2时 函数将返回 表达式1 的值 值大于2 小于3 返回 表达式2 的值 依此类推 数值表达式 的值应在1 n之间 否则 函数返回Null值 例如 在数学函数计算中 根据变量x的值来计算y的值 y Choose x x 1 m m n 10 6 Nz 函数语法格式为 Nz 表达式或字段属性值 规定值 Nz函数对可能包含Null值的表达式是很有用的 要使表达式即使在包含Null值时也能计算得到一个非Null值 可使用Nz函数来返回0 空字符串或一个自定义的返回值 例如 表达式 6 varx 在Variant类型变量varx是Null时 返回一个Null值 如使用表达式 6 Nz varX 结果为6 Nz函数亦可作为IIf函数的替代函数 7 DCount 函数Dcount函数用于返回指定记录集中的记录数 语法格式为 DCount 表达式 记录集 条件式 参数说明 表达式 用于标识要统计其记录数的字段 记录集 字符串表达式 可以是表的名称或查询的名称 条件式 可选的字符串表达式 用于限制DCount函数执行的数据范围 等价于SQL表达式中的WHERE子句 只是不含WHERE关键字 如果忽略条件式 DCount函数在整个记录集内计算 8 DAvg 函数DAvg函数用于计算指定记录集中某个字段列数据的平均值 可以在VBA代码 宏 查询表达式或计算控件中使用 语法格式为 DAvg 表达式 记录集 条件式 参数说明 同Dcount 函数参数 使用说明 包含Null值的记录不能在平均值的计算中使用 在查询的 准则 行中可以使用DAvg函数来指定准则 9 DSum 函数DSum函数用于计算指定记录集中某个字段列数据的总和 语法格式为 DSum 表达式 记录集 条件式 参数说明 同Dcount 函数参数 使用说明 如果没有记录满足 条件式 参数或者记录集中不包含任何记录 DSum函数将返回Null 在查询的 准则 行 查询中的计算字段表达式中或更新查询的 更新到 行中均可以使用DSum函数指定准则 可以在总计查询的计算字段表达式中使用DSum或Sum函数 10 DLookup 函数DLookup函数用于从指定记录集检索特定字段的值 语法格式为 DLookup 表达式 记录集 条件式 参数说明 同Dcount 函数参数 使用说明 DLookup函数将基于表达式中指定的信息返回单个字段的值 如果没有满足条件的记录 或者记录集中没有记录 DLookup函数将返回Null 如果有多个字段满足条件式 DLookup函数将返回第一个匹配字段所对应的检索字段值 10 4 7程序语句VBA中的语句是能够完成某项操作的一条完整命令 程序由大量的命令语句构成 命令语句可以包含关键字 函数 运算符 变量 常数以及表达式 VBA语句一般分为3种类型 1 声明语句 用来为变量 常量 程序或过程命名 指定数据类型 2 赋值语句 用来为变量指定一个值或表达式 3 执行语句 用来调用过程 执行一个方法或函数 可以循环或从代码块中分支执行 实现各种流程控制 1 程序语句书写规则 1 不区分字母的大小 2 语句书写规定 3 注释语句 2 声明语句通过声明语句可以命名和定义过程 变量 数组或常量 当声明一个过程 变量或数组时 也同时定义了它们的作用范围 此范围取决于声明位置 子过程 模块或全局 和使用什么关键字 Dim Public Static或Global等 来声明它 3 赋值语句赋值语句用于指定一个值或表达式给变量或常量 使用格式为 Let 变量名 值或表达式其中 Let为可选项 在使用赋值语句时 一般省略 关于使用赋值语句的说明 1 当数值表达式与变量精度不同时 系统强制转换成变量的精度 2 当表达式是数字字符串 变量为数值型 系统自动转换成数值类型再赋值 若表达式含有非数字字符或空串时 赋值出错 3 不能在一个赋值语句中 同时给多个变量赋值 4 实现累加作用的赋值语句 4 标号和GoTo语句GoTo语句用于在程序执行过程中实现无条件转移 格式为 GoTo标号 5 执行语句执行语句是程序的主体 程序功能靠执行语句来实现 语句的执行方式按流程可以分为顺序结构 条件判断结构和循环结构三种 1 If条件语句在VBA代码中使用If条件语句 可根据条件表达式的值来选择程序执行哪些语句 If条件语句的主要格式有 单分支 双分支和多分支等 单分支结构语句格式为 IfThenEndIf 或IfThenEndIf功能 当条件表达式为真时 执行Then后面的语句块或语句 否则不做任何操作 说明 语句块可以是一条或多条语句 在使用右边的单行简单格式时 Then后只能是一条语句 或者是多条语句用冒号分隔 但必须与If语句在一行上 双分支结构语句格式为 IfThenElseEndIf或IfThenElseEndIf功能 当条件表达式为真时 执行Then后面的语句块1或语句1 否则执行Else后面的语句块2或语句2 2 多分支SelectCase语句当条件选项较多时 使用If语句嵌套来实现 程序的结构会变得很复杂 不利于程序的阅读与调试 此时 用SelectCase语句会使程序结构更清晰 SelectCase语句格式为 SelectCase变量或表达式Case表达式1Case表达式2 CaseElse EndSelect 3 循环语句循环结构可以重复执行一个或多个语句 也可以定义一个条件 使得循环语句的执行变得有条件 Do Loop循环语句语法格式为 DoWhile条件表达式 ExitDo Loop或DoUntil条件表达式 ExitDo Loop 功能 DoWhile循环语句 当条件表达式结果为真时 执行循环体 直到条件表达式结果为假或执行到ExitDo语句而退出循环体 DoUntil循环语句 当条件表达式结果为假时 执行循环体 直到条件表达式结果为真或执行到ExitDo语句而退出循环体 For Next循环语句用于循环次数已知的循环操作 语句格式为 For循环变量 初值To终值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论