学习VBA基础知识.ppt
《学习VBA基础知识.ppt》由会员分享,可在线阅读,更多相关《学习VBA基础知识.ppt(108页珍藏版)》请在三一办公上搜索。
1、VBA基础(2023/6/19),数组,VBA程序流程控制,VBA常用语句,VBA编程基础,VBA概念,VBA概念,1-1 VBA简介,VBA(Visual Basic for Application)是MicrosoftOffice系列软件的内置编程语言,其语法结构与VisualBasic编程语言互相兼容,采用的是面向对象的编程机制和可视化的编程环境。,1-2 面向对象程序设计的基本概念,1.集合和对象 VBA中的应用程序是由许多对象组成的,如表、窗体、查询等。对象是帮助构造应用程序的元素,以特定的方式组织这些对象,就形成了应用程序。,2.对象的属性、事件和方法 属性 属性描述了对象的自身性
2、 质 其格式为:对象名.属性=属性值,1-2 面向对象程序设计的基本概念,事件 事件是指可以发生在一个对象上且能够被该对象所识别的动作。如:单击某个命令按钮就产生该按钮的“单击”事件当某个对象发生某一事件后,就会驱动系统去执行预先编好的、与这一事件相对应的一段程序。,方法 方法是系 统事先设计好的,可以完成一定操作的特殊过程,是附属于对象的行为和动作。在需要使用的时候可以直接调用。其格式为:对象名.方法名,常见对象及其含义,1-3 VBA编程环境,VBA 中的程序与函数共有种:一般程序(Sub)、事件程序(Event)、属性程序(Property)和函数(Function)VBA程序窗口共种:
3、代码窗口、立即窗口、本地窗口、监视窗口、工程资源管理器和属性窗口在VBE环境中编写VBA代码,工程窗口选择对象,属性窗口选择对象的属性,代码窗口,选择事件,VBE编程环境,标准工具条,视图 Microsoft Excel按钮:切换Excel窗口插入按钮:插入模块或过程运行子过程/用户窗体按钮:运行模块中的程序中断按钮:中断正在运行的程序重新设置按钮:结束正在运行的程序设置模式按钮:在设计模式和非设计模式之间切换工程资源管理器按钮:用于打开工程资源管理器属性窗口按钮:用于打开属性窗口对象浏览器按钮:用于打开对象浏览器,MicrosoftExcel,插入模块,运行子过程/用户窗体,设计模式,中断,
4、重新设计,工程资源管理器,对象浏览器,属性窗口,新建一个窗体并添加两个命令按钮,运行窗体后,单击第一个按钮,显示一个消息框;单击第二个按钮,退出当前窗体,通过此例,体会可视化编程、面向对象、事件过程、应用方法等基本概念。,数组,VBA程序流程控制,VBA常用语句,VBA编程基础,VBA概念,VBA编程基础,2-1常量、变量,VBA使用常量、变量来存储值。用来保存在程序运行期间数据。常量:在程序运行中其存储的值不会改变。变量:在程序运行中其值可以改变。,2-1-1常量,在程序运行过程中,其值不会被改变的量称为常量。在VBA中有三类常量:1.直接常量 如:10,20%,123.0,“AB”,“VB
5、A程序设计”等2.符号常量3.系统常量 指VBA系统预先定义好的,用户可以直接引用的量。如:acForm,acQuery,vbOk,vbRed,符号常量,在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VBA中使用关键字Const 声明符号常量。其格式如下:Const 常量名 类型符号=常数表达式如:Const PI#=3.1415926,2-1-2变量,变量是内存中的临时单元,存放在程序执行过程中产生的中间结果和最后输出结果。在程序中使用变量,就要给变量定义名称及类型,即对变量进行声明。,变量命名规则,1.变量名必须
6、以字母或汉字开头,后可跟字母、汉字、数字或下划线组成(不能含有小数点和空格),长度 不超过255个字符的字符串;2.不能使用VBA中的关键字;3.VBA中不区分变量名的大小写;4.变量名的最后一个字符可以是%、&、!、#、$等表示 数据类型的声明符。说明:常量名的命名规则与变量名的命名规则相同,2-2 数据类型与变量的声明,在VBA中,数据类型用来决定变量可以保存何种数据。VBA支持多种数据类型,为用户编程提供了方便。,2-2-1 VBA的数据类型,2-2-2变量声明,用Dim或Static语句显式声明局部变量 格式:Dim 变量名 AS 类型 或 Dim 变量名类型符 语句中的“As 类型”
7、子句是可选的。如果使用该子句,就可以定义变量的数据类型。未使用,默认变量的类型为变体型(Variant)。例如:Dim i As integer,s 表示声明了一个名为i的整型变量和一个名为s的变体型变量。,关键字Dim或Static的区别,Dim 声明:随过程的调用而分配存贮单元,每次调用都对变量初始化;过程体结束,变量的内容自动消失,存储单元释放。Static 声明:Static 声明的变量,也称为静态变量。静态变量在程序运行过程中一直保留其值,即每次调用过程,变量保持原来的值。,数据类型的转换函数列表,识别数据类型的函数TypeName,Sub abc()Dim i As Integer
8、 Dim str As String i=10 MsgBox TypeName(i)str=CStr(i)MsgBox TypeName(str)End Sub,隐式声明变量,未进行上述的声明而直接使用变量,称变量的隐式声明,采用隐式声明的变量都是变体型(Variant)。注意:VBA中允许不事先声明而直接使用变量,可以通过语句Option Explicit,来要求所使用的变量必须事先声明,否则VBA会发出警告信息。,变量a,b,Sum都没有事先定义,Private Sub Form_Click()Sum=0 a=10 b=20 Sum=a+b Debug.Print Sum=&SumEnd
9、Sub,良好的编程习惯应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。VBA中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:Option Explicit,变量的初始化,声明而未赋值的变量的值为:数值型变量初始化为0;字符型变量为零长度字符串;变体型变量初始化为 Empty;,2-3-1算术运算符,2-3-2连接运算符,连接运算符:、+(字符串连接)例如:123+456 结果 123456 123&456 结果 123456 使用上 与+的区别:例如:abcdef&12345 结果为 abcdef12345 123&456 结果为
10、123456 abcdef+12345 结果为 出错 123+456 结果为 579,2-3-3关系运算符,将两个操作数进行大小比较,结果为逻辑值。注意:字符串比较,则按字符的ASCII码值从左到右一一 比较,直到出现不同的字符为止。,2-3-4逻辑运算符,将操作数进行逻辑运算,结果是逻辑值,举例,例1:用人单位招聘秘书:年龄小于40岁的女性,学历专科或本科,正确的VBA表达式:3=x And x=7 错误的VBA表达式:3=x=7 或 3=x Or x=7,年龄40,性别=“女”,(学历=“专科”,学历=“本科”)And And Or,例2:算术表达式:,2-3-5简单的字符处理函数,Opt
11、ion Compare设置字符串比较规则,Option Compare Binary|Text|DatabaseOption Compare Binary:是根据字符的内部二进制表示导出的一种排序A-Za-z汉字Option Compare Text:是根据系统区域确定的一种不区分大小写的一种排序(A=a)(B=b)(Z=z),结果:True,结果:False,StrComp 比较两个字符串,StrConv 字符串类型转换,StrConv 字符串类型转换(例),MsgBox strConv(English,vbUpperCase)&Chr(10)&strConv(English,vbLower
12、Case)&Chr(10)&strConv(english,vbProperCase)&Chr(10)&strConv(English,vbWide),Format 格式化字符串,MsgBox FORMAT(Date,yyyy年m月d日)&Chr(10)&FORMAT(Date,aaaa),vbaOKOnly,现在是,LCase/UCase 大小写转换,Sub 大小写转换()MsgBox LCase(HELLO WORLD)&Chr(10)&UCase(hello world)End Sub,String/Space 重复字符,Sub 重复字符()MsgBox String(5,$)&Spac
13、e(3)&String(5,*)End Sub,Lset/Rset 字符串往左/右对齐,Sub 字符左右对齐()Dim str1,str2 As String str1=大连华信计算机技术股份有限公司 LSet str1=华信培训 str2=大连华信计算机技术股份有限公司 RSet str2=华信培训 MsgBox&str1&Chr(10)&str2&End Sub,Instr 返回字符出现位置,Sub 查找位置()MsgBox InStr(大连华信计算机技术股份有限公司,信)End Sub,Left/Mid/Right 从左、中、右取值,Sub 取值()Dim str As String s
14、tr=大连华信计算机技术股份有限公司 MsgBox Left(str,2)&Mid(str,3,2)&Right(str,2)End Sub,LTrim/RTrim/Trim 去除空格,Sub abc()Dim str1,str2 As String str1=大连 str2=华信 MsgBox Trim(str1&str2)&666 MsgBox LTrim(str1)&RTrim(str2)&666End Sub,Like字符串相似度比较,Sub abc()result=string lik pattern?任何单一字符*零个或多个字符#任何一个数字(0-9)Dim str1 As Str
15、ing str1=abda If str1 Like*Then MsgBox*相似 If str1 Like a?Then MsgBox?相似 If 1234 Like#Then MsgBox#相似End Sub,2-4 表达式,组成 由变量、常量、函数等运算对象加上运算符、圆括号组成的式子。书写规则(1)运算符不能相邻。例a+-b是错误的。(2)乘号不能省略。例x 乘以y 应写成:x*y。(3)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准上书写,无高低。运算优先级 算术运算符连接运算符关系运算符逻辑运算,2-5 常用函数,函数实际上是系统事先定义好的内部程序,用来完成特定的
16、功能。VBA提供了大量的内部函数,供用户在编程时使用。函数的调用形式为:函数名(参数表)常用内部函数常用内部函数,在立即窗口练习,体会函数的功能。请参照:VBA函数参考手册,2-6 模块、函数和过程,模块是自定义的过程、函数保存的地方,也是录制的宏保存的场所。有两种基本类型的模块:类模块和标准模块。模块可以通过右键单击工程资源管理器的工程名,选择“插入模块”来新建。新建的模块缺省的名称为“模块1”,“模块2”,建议在属性窗口内更改为有意义的名称。,模块任务:(1)保存过程和函数;(2)定义模块内的私有变量或整个工程的公有变量。,2-7 过程,过程是最基本的运行单位语法Private|Publi
17、c|Friend Static Sub name(arglist)statementsExit SubstatementsEnd Sub在以上程序中,Sub 代表过程种类,表示运行指定的操作,但不返回运行结果;,部分 描述,2-8 函数,函数是具有返回值的过程语法Public|Private|Friend Static Function name(arglist)As type statements name=expression Exit Function statements name=expressionEnd Function,部分 描述,函数和过程区别,调用一个过程(Sub)时,必须
18、键入过程名称以及任何需要的参数值。Call语句可有可无,如果使用它,则参数必须以括号括起来。调用函数(Function)时,为了使用函数的返回值,必须指定函数给变量,并且用括号将参数封闭起来。,数组,VBA程序流程控制,VBA常用语句,VBA编程基础,VBA概念,VBA常用语句,3-1 VBA语句书写规则,VBA代码不区分字母的大小写 系统保留字自动转换每个单词的首字母大写;语句书写自由 一行可书写几句语句,之间用冒号(:)分隔;一句语句可分若干行书写,用续行符(_)将语句分开。,3-2 VBA常用语句,赋值语句:给变量、常量或对象的属性指定一个值或表达式。格式:变量名表达式作用:将表达式的值
19、赋值给变量名。一般用于给变量赋值或对控件设定属性值。例如:s=10 Text1.Text 欢迎使用VBA注意:虽然赋值号与关系运算符等于号都用“=”表示,VBA会 根据所处的位置自动判断是何种意义的符号,声明语句:命名和定义常量、变量、数组以及过程。注释语句 在程序中的适当位置加上注释语句有利于程序的维护和阅读。格式:Rem 注释内容 或用单引号 注释内容,数组,VBA程序流程控制,VBA常用语句,VBA编程基础,VBA概念,VBA程序流程控制,顺序、分支、循环,结构化程序设计由顺序、分支、循环这3种基本结构所组成。,4-1分支结构,单行 If 语句格式:If 表达式 Then 语句1 Els
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学习 VBA 基础知识

链接地址:https://www.31ppt.com/p-5256807.html