学习VBA基础知识.ppt

上传人:xt****7 文档编号:3639460 上传时间:2019-12-20 格式:PPT 页数:108 大小:1.15MB
返回 下载 相关 举报
学习VBA基础知识.ppt_第1页
第1页 / 共108页
学习VBA基础知识.ppt_第2页
第2页 / 共108页
学习VBA基础知识.ppt_第3页
第3页 / 共108页
点击查看更多>>
资源描述
VBA基础(2019/12/20),数组,VBA程序流程控制,VBA常用语句,VBA编程基础,VBA概念,VBA概念,1-1VBA简介,VBA(VisualBasicforApplication)是MicrosoftOffice系列软件的内置编程语言,其语法结构与VisualBasic编程语言互相兼容,采用的是面向对象的编程机制和可视化的编程环境。,1-2面向对象程序设计的基本概念,1.集合和对象VBA中的应用程序是由许多对象组成的,如表、窗体、查询等。对象是帮助构造应用程序的元素,以特定的方式组织这些对象,就形成了应用程序。,2.对象的属性、事件和方法属性属性描述了对象的自身性质其格式为:对象名.属性=属性值,1-2面向对象程序设计的基本概念,事件事件是指可以发生在一个对象上且能够被该对象所识别的动作。如:单击某个命令按钮就产生该按钮的“单击”事件当某个对象发生某一事件后,就会驱动系统去执行预先编好的、与这一事件相对应的一段程序。,方法方法是系统事先设计好的,可以完成一定操作的特殊过程,是附属于对象的行为和动作。在需要使用的时候可以直接调用。其格式为:对象名.方法名,常见对象及其含义,1-3VBA编程环境,VBA中的程序与函数共有种:一般程序(Sub)、事件程序(Event)、属性程序(Property)和函数(Function)VBA程序窗口共种:代码窗口、立即窗口、本地窗口、监视窗口、工程资源管理器和属性窗口在VBE环境中编写VBA代码,工程窗口选择对象,属性窗口选择对象的属性,代码窗口,选择事件,VBE编程环境,标准工具条,视图MicrosoftExcel按钮:切换Excel窗口插入按钮:插入模块或过程运行子过程/用户窗体按钮:运行模块中的程序中断按钮:中断正在运行的程序重新设置按钮:结束正在运行的程序设置模式按钮:在设计模式和非设计模式之间切换工程资源管理器按钮:用于打开工程资源管理器属性窗口按钮:用于打开属性窗口对象浏览器按钮:用于打开对象浏览器,MicrosoftExcel,插入模块,运行子过程/用户窗体,设计模式,中断,重新设计,工程资源管理器,对象浏览器,属性窗口,新建一个窗体并添加两个命令按钮,运行窗体后,单击第一个按钮,显示一个消息框;单击第二个按钮,退出当前窗体,通过此例,体会可视化编程、面向对象、事件过程、应用方法等基本概念。,数组,VBA程序流程控制,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常量名类型符号=常数表达式如:ConstPI#=3.1415926,2-1-2变量,变量是内存中的临时单元,存放在程序执行过程中产生的中间结果和最后输出结果。在程序中使用变量,就要给变量定义名称及类型,即对变量进行声明。,变量命名规则,1.变量名必须以字母或汉字开头,后可跟字母、汉字、数字或下划线组成(不能含有小数点和空格),长度不超过255个字符的字符串;2.不能使用VBA中的关键字;3.VBA中不区分变量名的大小写;4.变量名的最后一个字符可以是%、j;次循环i=;iNextiPrint退出循环后i=;iEndSub正常情况:i=1,3,5,7,9,11,13,15,17,19现在:i=4,9,14,19,DoLoop循环语句,形式1:DoWhile|Until语句块ExitDo语句块Loop,形式2:Do语句块ExitDo语句块LoopWhile|Until,DoLoop循环语句,DoLoop语句(循环结构),DoWhileLoop语句DoUntilLoop语句DoLoopWhile语句DoLoopUntil语句,DoWhileLoop语句,i=1DoWhilei=10s=s+ii=i+1Loop当i=10成立时,执行循环体循环变量i必须有初值防止产生死循环有可能一次也不执行循环体,修改循环控制变量,改变加数值,DoLoopWhile,i=1Dos=s+ii=i+1LoopWhilei10成立时,结束执行循环体循环变量i必须有初值防止产生死循环有可能一次也不执行循环体,修改循环控制变量,改变加数值,DoLoopUntil,i=1Dos=s+ii=i+1LoopUntili10当i10成立时,结束执行循环体循环变量i必须有初值防止产生死循环至少执行一次循环体,修改循环控制变量,改变加数值,补充:WhileWend语句,格式如下:WhileWend说明:该语句的功能与DoWhile.Loop实现的循环完全相同。,注意,三种循环语句:即For、DoLoop,共同的特点是重复执行一个语句系列(循环体),不同点是控制重复次数的时机和方法不一样。,数组,VBA程序流程控制,VBA常用语句,VBA编程基础,VBA概念,数组,5-1数组的概念,数组:数组不是一种数据类型,而是一组相同类型的变量的集合。可以像使用普通变量一样使用数组中的每一个元素。使用数组的好处是用一个数组名代表逻辑上相关的一批数据,用下标表示该数组中的各个元素,可以提高处理数据的效率,缩短和简化程序。,5-2数组的定义,数组不是一种数据类型,而是一组相同类型的变量的集合,数组必须先声明后使用。两类数组:静态(定长)数组、动态(可变长)数组1.一维数组定义一维数组的形式:Dim数组名(下界To上界)As类型声明了数组的名、维数、大小、类型,说明:,数组名的命名规则与变量的命名相同。数组的元素个数:上界-下界+1。缺省为0,若希望下标从1开始,可在模块的通用部分使用OptionBase语句将设为1。其使用格式是:OptionBase0|1后面的参数只能取0或1例如:OptionBase1将数组声明中缺省下标设为1和不能使用变量,必须是常量,常量可以是直接常量、符号常量,一般是整型常量。,例:Dimmark(1to100)AsInteger,例:Dima(-1to3)AsInteger声明一维数组a,包含了5个整型元素a(-1)、a(0)、a(1)、a(2)、a(3);,如果省略As子句,则数组的类型为变体类型。数组中各元素在内存占一片连续的存储空间,一维数组在内存中存放的顺序是按下标大小的顺序。,注意:,在定义静态数组时,每一维的元素个数必须是常数,不能是变量或表达式。如:错误的声明,下标是变量Dimx(n)或:n=Inputbox(“输入n”)Dimx(n)AsSingle,在数组声明中的下标说明了数组的整体,即每维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。例如:Dimx(10)AsIntegerx(10)=100,表示声明了数组x,有11个数组元素,对x(10)这个数组元素赋值,5-3二维数组,定义二维数组的形式:Dim数组名(下界1To上界1,下界2To上界2)As类型例如:Dima(2,3)AsSingle二维数组在内存的存放顺序是“先行后列”。数组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),例:DimlArray(0To3,0To4)AsLong共有45个元素等价于:DimlArray(3,4)AsLong,5-4动态数组,动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出数组大小。形式如下:ReDim数组名(下标,下标2)As类型例:PrivateSubS1()Dimx()AsSinglen=Inputbox(“输入n”)ReDimx(n)EndSub,说明,Dim、Static、Public声明语句是说明性语句,可出现在过程内或通用声明段;ReDim语句是执行语句,只能出现在过程内;在过程中可多次使用ReDim来改变数组元素的个数ReDim中的下标可以是常量,也可以是有了确定值的变量。如:n=InputBox(“输入n的值”)ReDimArr(n)静态数组在程序编译时分配存储单元,动态数组在运行时分配存储单元。,5-5数组的基本操作,1.数组元素的引用一维数组元素的引用使用形式:数组名(下标)其中:下标可以是常量、整型变量或表达式。例如:设有下面的数组A(10)、B(10)AsInteger则下面的语句都是正确的。A(1)=B(2)+B(1)+5取数组元素运算A(i)=B(i)下标使用变量A(i+2)=B(i+1)下标使用表达式注意:引用数组时不能下标越界,引用二维数组的形式,数组名(下标1,下标2)下标1指定元素在二维表中所在的行,下标2指定元素在二维表中所在的列。例如:a(1,2)=10a(i+2,j)a(2,3)*2在程序中常常通过二重循环来操作使用二维数组元素。,数组引用实例,数组元素的输入,通过循环给数组元素的初值Fori=1To10A数组的每个元素值为1A(i)=1Nexti数组的输入(通过InputBox()函数)Fori=1To4Forj=1To5sc(i,j)=InputBox(输入sc(&i&,&j&)的值)NextjNexti,5-6自定义数据类型,用户自定义数据类型也称为记录数据类型,它是在基本数据类型不能满足实际需要时,由用户以基本的数据类型为基础,按照一定的语法规则自定义而称的数据类型。自定义类型的定义Type自定义类型名元素名(下标)As类型名元素名(下标)As类型名EndType,类型名:为标准类型元素名:表示自定义类型中的一个成员下标:表示是数组,例如:以下定义了一个有关学生信息的自定义类型:TypeStudNoAsInteger学号NameAsString*20姓名SexAsString*1性别Mark(1To4)AsSingle4门课程成绩TotalAsSingle总分EndType,自定义类型变量的声明和使用声明形式Dim变量名As自定义类型名例:DimStudentAsStud引用形式:变量名.元素名例:表示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交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!