学习VBA基础知识

上传人:jun****875 文档编号:20665815 上传时间:2021-04-11 格式:PPT 页数:108 大小:884.50KB
返回 下载 相关 举报
学习VBA基础知识_第1页
第1页 / 共108页
学习VBA基础知识_第2页
第2页 / 共108页
学习VBA基础知识_第3页
第3页 / 共108页
点击查看更多>>
资源描述
VBA基础 ( 2021/4/11) 数组 VBA程序流程控制 VBA常用语句 VBA编程基础 VBA概念 概念 1-1 VBA简介 VBA (Visual Basic for Application) 是 Microsoft Office系列软件的内置编程语言,其语法结构与 Visual Basic编程语言互相兼容,采用的是面向对象的编程机制 和可视化的编程环境。 1-2 面向对象程序设计的基本概念 1.集合和对象 VBA中的应用程序是由许多对象组成的,如表、窗体、查 询等。对象是帮助构造应用程序的元素,以特定的方式组 织这些对象,就形成了应用程序 。 2.对象的属性、事件和方法 属性 属性描述了对象的自身性 质 其格式为: 对象名 .属性 =属性值 1-2 面向对象程序设计的基本概念 事件 事件是指可以发生在一个对象上且能够被该对象所识 别的动作。 如:单击某个命令按钮就产生该按钮的 “ 单击 ” 事件 当某个对象发生某一事件后,就会驱动系统去执行预先编 好的、与这一事件相对应的一段程序。 方法 方法是系 统事先设计好的,可以完成一定操作的特 殊过程,是附属于对象的行为和动作。在需要使用的时候 可以直接调用。 其格式为: 对象名 .方法名 常见对象及其含义 对 象 名 含 义 Application 代表整个 Excel应用程序 Window 代表窗口 Worksheet 代表一个工作表 Sheets 指定的或活动工作薄中所有工作表的集合 ShapeRange 代表形状区域,它是文档中的一组形状 PivotTable 代表工作表上的 数据透视图 Workbook 代表一个 Excel工作薄 Shape 代表绘图层中的对象,例如自选图形 Range 代表某一单元格、某一行、某一列、某一区域 Name 代表单元格区域的自定义名 Chart 代表工作薄中的图表 FileDialog 提示文件对话框,功能和应用程序中标准“打开”和“保存”对话 框类似 CommandBarPopup 代表命令栏上的一个弹出式控件 CommandBar 代表容器应用程序中的一个命令栏 1-3 VBA编程环境 VBA 中的程序与函数共有种: 一般程序( Sub)、事件程序( Event)、 属性程序( Property)和函数( Function) VBA程序窗口共种: 代码窗口、立即窗口、本地窗口、 监视窗口、工程资源管理器和属性窗口 在 VBE环境中编写 VBA代码 工程窗口 选择对象 属性窗口 选择对象 的属性 代码 窗口 选择 事件 VBE编程环境 标准工具条 视图 Microsoft Excel按钮:切换 Excel窗口 插入按钮:插入模块或过程 运行子过程 /用户窗体按钮:运行模块中的程序 中断按钮:中断正在运行的程序 重新设置按钮:结束正在运行的程序 设置模式按钮:在设计模式和非设计模式之间切换 工程资源管理器按钮:用于打开工程资源管理器 属性窗口按钮:用于打开属性窗口 对象浏览器按钮:用于打开对象浏览器 Microsoft Excel 插入模块 运行子过程 /用户窗体 设计模式 中断 重新设计 工程资源管理器 对象浏览器 属性窗口 新建一个窗体并添加两个命令按钮,运行窗体后,单 击第一个按钮,显示一个消息框;单击第二个按钮,退出 当前窗体 通过此例,体会可视化编程、面向对象、事件过程、应 用方法等基本概念。 数组 VBA程序流程控制 VBA常用语句 VBA编程基础 VBA概念 2-1常量、变量 VBA使用常量、变量来存储值。用来保存在程序运行 期间数据。 常量:在程序运行中其存储的值不会改变。 变量:在程序运行中其值可以改变。 2-1-1常量 在程序运行过程中,其值 不会被改变 的量称为常量。在 VBA中有三类常量: 1.直接常量 如: 10, 20%, 123.0, “ AB” , “ VBA程序设计 ” 等 2.符号常量 3.系统常量 指 VBA系统预先定义好的,用户可以直接引用的量。 如: acForm, acQuery, vbOk, vbRed 符号常量 在程序中,某个常量多次被使用,则可以使用一个 符号来代替该常量,这样不仅在书写上方便,而且有效 地改进了程序的可读性和可维护性。 VBA中使用关键字 Const 声明符号常量。 其格式如下: Const 常量名 类型符号 =常数表达式 如: Const PI#= 3.1415926 2-1-2变量 变量是内存中的临时单元,存放在程序执行 过程中产 生的中间结果和最后输出结果。 在程序中使用变量,就要给变量定义名称及类型,即 对变量进行声明。 变量命名规则 1.变量名必须以 字母或汉字 开头,后可跟 字母、汉字、 数字或下划线 组成(不能含有小数点和空格),长度 不超过 255个字符的字符串; 2.不能使用 VBA中的 关键字 ; 3.VBA中 不区分 变量名的大小写; 4.变量名的最后一个字符可以是 %、 j; 次循环 i=; i Next i Print 退出循环后 i=; i End Sub 正常情况: i=1,3,5,7,9,11,13,15,17,19 现在: i=4,9,14,19 DoLoop 循环语句 形式 1: Do While | Until 语句块 Exit Do 语句块 Loop 表达式列表 1 F T F T E x i t Do 语句块 语句块 E x i t Do 语句块 语句块 表达式列表 1 图 Do L o o p W h i l e 图 Do W h i l e L o o p 形式 2: Do 语句块 Exit Do 语句块 Loop While|Until 表达式列表 1 F T F T E x i t Do 语句块 语句块 E x i t Do 语句块 语句块 表达式列表 1 图 Do L o o p W h i l e 图 Do W h i l e L o o p DoLoop 循环语句 DoLoop 语句 (循环结构 ) Do While Loop 语句 Do Until Loop语句 Do Loop While语句 Do Loop Until语句 Do While Loop 语句 i=1 Do While i=10 s=s+i i=i+1 Loop 当 i=10成立时,执行循环体 循环变量 i必须有初值 防止产生死循环 有可能一次也不执行循环体 修改循环控制变 量,改变加数值 Do Loop While i=1 Do s=s+i i=i+1 Loop While i=10 当 i10 s=s+i i=i+1 Loop 当 i10成立时,结束执行循环体 循环变量 i必须有初值 防止产生死循环 有可能一次也不执行循环体 修改循环控制变 量,改变加数值 Do Loop Until i=1 Do s=s+i i=i+1 Loop Until i10 当 i10成立时,结束执行循环体 循环变量 i必须有初值 防止产生死循环 至少执行一次循环体 修改循环控制变 量,改变加数值 补充: WhileWend 语句 格式如下: While Wend 说明: 该语句的功能与 Do While .Loop 实现 的循环完全相同。 注意 三种循环语句:即 For 、 Do Loop,共同的特点是重 复执行一个语句系列 (循环体 ),不同点是控制重复次数 的时机和方法不一样。 数组 VBA程序流程控制 VBA常用语句 VBA编程基础 VBA概念 5-1 数组的概念 数组: 数组不是一种数据类型,而是一组相同类型的变 量的集合。可以像使用普通变量一样使用数组中的每一 个元素。 使用数组的好处是用一个 数组名 代表逻辑上相关的一 批数据,用 下标 表示该数组中的各个元素,可以提高处 理数据的效率,缩短和简化程序。 5-2 数组的定义 数组不是一种数据类型,而是一组相同类型的变 量的集合, 数组必须先声明后使用。 两类数组: 静态 (定长 )数组、动态 (可变长 )数组 1.一维数组 定义一维数组的形式: Dim 数组名 (下界 To上界 ) As 类型 声明了数组的名、维数、大小、类型 说明: 数组名的命名规则与变量的命名相同 。 数组的元素个数:上界 -下界 +1。 缺省 为 0, 若希望下标从 1开始 , 可在模块的通用部分使用 Option Base语句将设为 1。 其使用格式是: Option Base 0|1 后面的参数只能取 0或 1 例如: Option Base 1 将数组声明中缺省 下标设为 1 和 不能使用变量, 必须是常量 ,常量可以是直接常 量、符号常量,一般是整型常量。 例: Dim mark(1 to 100) As Integer 例: Dim a(-1 to 3) As Integer 声明一维数组 a,包含了 5个整型元素 a(-1)、 a(0) 、 a(1) 、 a(2) 、 a(3); 如果省略 As子句 , 则数组的类型为变体类型 。 数组中各元素在内存占一片连续的存储空间 , 一维数组在内存 中存放的顺序是按下标大小的顺序 。 注意: 在定义静态数组时,每一维的元素个数必须是常数, 不能是变量或表达式。 如:错误的声明,下标是变量 Dim x(n) 或: n =Inputbox(“输入 n ” ) Dim x(n) As Single 在数组声明中的下标说明了数组的整体,即每维的大 小;而在程序其他地方出现的下标表示数组中的一个 元素。两者写法形式相同,但意义不同。 例如: Dim x(10) As Integer x(10)=100 表示声明了数组 x, 有 11个数组元素 对 x(10)这个数 组元素赋值 5-3 二维数组 定义二维数组的形式: Dim 数组名 (下界 1 To上界 1,下界 2 To上界 2) As 类型 例如: Dim a(2,3) As Single 二维数组在内存的存放顺序是 “先行后列” 。 数组 a的各元素在内存中的存放顺序是: a(0,0) a(0,1) a(0,2) a(0,3) a(1,0) a(1,1) a(1,2) a(1,3) a(2,0) a (2,1) a(2,2) a(2,3) 例: Dim lArray( 0 To 3, 0 To 4) As Long 共有 4 5个元素等价于 : Dim lArray(3, 4) As Long 5-4 动态数组 动态数组指在声明数组时未给出数组的大小 (省略括号中的下标 ), 当要使用它时,随时用 ReDim语句 重新指出数组大小。 形式如下: ReDim 数组名 (下标 ,下标 2) As 类型 例: Private Sub S1( ) Dim x( ) As Single n =Inputbox(“输入 n”) ReDim x(n) End Sub 说明 Dim、 Static、 Public 声明语句是说明性语句,可出现 在过程内或通用声明段; ReDim语句是执行语句,只 能出现在过程内; 在过程中可多次使用 ReDim来改变数组元素的个数 ReDim中的下标可以是常量,也可以是有了确定值的变 量。如: n=InputBox(“输入 n的值” ) ReDim Arr(n) 静态数组在程序编译时分配存储单元,动态数组在运行 时分配存储单元。 5-5 数组的基本操作 1.数组元素的引用 一维数组元素的引用 使用形式:数组名 (下标 ) 其中: 下标可以是常量、整型变量或表达式。 例如: 设有下面的数组 A(10) 、 B(10) As Integer 则下面的语句都是正确的。 A(1)=B(2)+B(1)+5 取数组元素运算 A(i)=B(i) 下标使用变量 A(i+2) = B(i+1) 下标使用表达式 注意:引用数组时不能下标越界 引用二维数组的形式 数组名 (下标 1,下标 2) 下标 1指定元素在二维表中所在的行,下标 2指定元 素在二维表中所在的列。 例如: a(1,2)=10 a(i+2,j) a(2,3)*2 在程序中常常通过二重循环来操作使用 二维数组元素。 数组引用实例 数组元素的输入 通过循环给数组元素的初值 For i = 1 To 10 A数组的每个元素值为 1 A(i)=1 Next i 数组的输入 (通过 InputBox( )函数 ) For i = 1 To 4 For j = 1 To 5 sc(i, j) = InputBox(输入 sc( &i & , & j & ) 的值 ) Next j Next i 5-6 自定义数据类型 用户自定义数据类型也称为记录数据类型,它是在基本数据类型不 能满足实际需要时,由用户以基本的数据类型为基础,按照一定 的语法规则自定义而称的数据类型。 自定义类型的定义 Type 自定义类型名 元素名 (下标 ) As 类型名 元素名 (下标 ) As 类型名 End Type 类型名:为标准类型 元素名:表示自定义类 型中的一个成 员 下标:表示是数组 例如:以下定义了一个有关学生信息的自定义类型: Type Stud No As Integer 学号 Name As String * 20 姓名 Sex As String * 1 性别 Mark(1 To 4) As Single 4门课程成绩 Total As Single 总分 End Type 自定义类型变量的声明和使用 声明形式 Dim 变量名 As 自定义类型名 例: Dim Student As Stud 引用 形式:变量名 .元素名 例:表示 Student变量中的姓名,第 4门课程的成绩: Student.Name=“张三” Student.Mark(4)=70 VBA与宏 VBA与宏都是 Excel的编程工具,编程时,可以在 VBA 代码中执行宏,也可以在宏操作中使用 VBA代码。 Excel能够自动将宏转换为 VBA的事件过程或模块,执 行这些事件过程或模块的结果与运行宏的功能相同。 小结 本章主要介绍了 VBA的编程环境; VBA中常量 、 变量 、 表达式 、 函数的使用; VBA中常用语句; VBA程序流程控 制中顺序控制 、 选择控制 、 循环控制等三种结构 , 还介 绍了数组的概念及应用 , 通过本章的学习应掌握 VBA编程 的基本方法 , 理解面向对象机制 , 熟悉可视化的编程环 境 , 为使用 VBA程序设计语言开发出功能强大的数据库应 用程序打好基础 。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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