认识VBA及其应用-ppt课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《认识VBA及其应用-ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 认识 VBA 及其 应用 ppt 课件
- 资源描述:
-
1、第24章VBA1ppt课件24-1 24-1 认识认识VBAVBA及其应用及其应用lVisual Basic for Application 又称VBA,是一种程序语言,可随着不同的应用软件透过对应的语法来设计,从Office2000开始,Office间应用软件的VBA即可互通了 。 lVBA应用很广,小则应用它来设计一个Excel没提供的函数,大则可以设计成帮不会用Excel界面的人做成自动化的信息系统,如会计信息系统等,本书此章节的目的,是要让使用者对Excel的VBA有一初步概念。 1ppt课件24-2 VBA24-2 VBA程序语言基本结构程序语言基本结构lVBA是一种物件导向程序语言
2、,跟一般语言一样,其基本架构为lSub 函数或程序名称() 定义(宣告)函数或程序l宣告1l宣告2l.l陈述式1l陈述式2l.lEnd Sub1ppt课件VBAVBA程序语言基本结构程序语言基本结构- -续续lVBA的程序码是由许多陈述式集合而成,包含宣告其实也是一种陈述式,陈述式会执行VBA的动作,每一个正确的指令,都会产生对应的动作,例如引发物件启动、计算或结束程序等。l陈述式约分为4类:(1)宣告陈述式(2)指定陈述式及设定物件属性(3)条件及循环陈述式(4)执行物件的方法。l刚开始时,我们可藉由前一章所录的巨集产生的VBA成式码来学习各种用法,对初学者效果不错哦!l先看一个例子感受一下
3、!下面的 Sub 程序用 Min 工作表函数来求出指定储存格范围中的最小值。首先,将变量 myRange 宣告为 Range 物件,然后将其设定为 Sheet1 中的 A1:C10 范围。再将另一变量 answer 指定为将 Min 函数套用于 myRange 后的结果。最后在讯息方块中显示 answer 的值。lSub UseFunction()lDim myRange As RangelSet myRange = Worksheets(Sheet1).Range(A1:C10)lanswer = Application.WorksheetFunction.Min(myRange)lMsgB
4、ox answerlEnd Sub1ppt课件VBAVBA操作环境操作环境lExcel提供了一个很好的VBA操作环境,来让我们写程序,我们现在就来看看!lStep1:执行工具/巨集/Visual Basic编辑器或按Alt+F11快速键。 1ppt课件VBAVBA操作环境操作环境- -续续lStep2:进入VBA操作环境视窗后,会看到左上方的项目视窗,左下的属性视窗,以及右边的程序视窗,这时你可以透过视窗工作列切换到Excel环境或再切换到VBA环境,也可以透过检视把其他工具列叫出来。1ppt课件VBAVBA操作环境操作环境- -续续lStep3:在项目视窗上,选取项目名称(预设为VB Pro
5、ject),按右键,叫出快显功能表,选择此项目的属性。1ppt课件VBAVBA操作环境操作环境- -续续lStep4:开启项目属性交谈窗,将项目名称改成star(原为VB Projecct),也可以用密码保护我们的项目,不让别人看到项目内容,如程序。1ppt课件VBAVBA操作环境操作环境- -续续lStep5:VBA的物件导向式语法,有非常多的方法及属性,其中各有不同的参数,不用强记,可以在属性或方法的字上(例如RGB)按右键,叫出快显功能表,选择列出属性或方法。1ppt课件VBAVBA操作环境操作环境- -续续lStep6:就可直接跳到最接近的属性或方法项下,按一下,就会出现相关的在线说明
6、,可以复制说明档上面的程序,直接拿过来用哦!1ppt课件VBAVBA操作环境操作环境- -续续lStep6:就可直接跳到最接近的属性或方法项下,按一下,就会出现相关的在线说明,可以复制说明档上面的程序,直接拿过来用哦!1ppt课件VBAVBA操作环境操作环境- -续续lStep7:输入方法或属性时,若有参数,输入(时会出现参数指引说明,跟我们在Excel中的资料编辑列上用函数是不是很像!1ppt课件VBAVBA操作环境操作环境- -续续lStep8:输入程序时请用小写英文即可,它会自动帮你转成大小写,以及用颜色区分,蓝色为VBA与法的保留字或关键字,不可拼错,黑色为程序的变量、宣告或陈述,而绿
7、色则是注解。如果我输入if x1=40 按Enter键,立刻会告诉你错误讯息,并告诉你怎么做,而且用红色的字标示出错误的那一列,是不是很方便,刚开始只要没出现红色的字,表示程序没有大错,就可以执行了。1ppt课件VBAVBA操作环境操作环境- -续续lStep9:我们先来看一个设定字型格式变化的程序,都在每一行后面有说明注解(注解以为开始)。1ppt课件VBAVBA基本结构基本结构- -程序程序或函数或函数l一般我们用VBA最多的就是程序或函数了,程序是一连串可执行的指令结合在一起,例如前一章所录制的巨集,主要目的是让多个重复的动作在一起执行,减少我们操作的时间;而函数则是根据使用者传入的参数
8、,做一些运算后传回一个结果的值,像我们在第6章及第9章用的函数就是这样,我们赶快来试试看!lStep1:执行插入/程序。 lStep2:在新增程序交谈窗,输入名称为leapyear,型态为Sub表示为一个程序程序。lStep3:按确定后,自动在程序视窗加入了一段定义程序的宣告与结束指令,我们可以开始依据需要在这个程序中间加入我们需要的程序指令了!1ppt课件VBAVBA基本结构基本结构- -程序或函数程序或函数lStep4:假设写好了,想试试看如何执行,这里我们以上一节改变字型格式的程序font20b来示范,到Excel中,选取B2储存格,按Alt+F8,开启巨集交谈窗,选取一个巨集名称来执行
9、。lStep5:若没有错误,就可以看到程序执行的结果,你也可以选取一个储存格范围来试试看! 1ppt课件VBAVBA基本结构基本结构- -程序或函数程序或函数lStep4:假设写好了,想试试看如何执行,这里我们以上一节改变字型格式的程序font20b来示范,到Excel中,选取B2储存格,按Alt+F8,开启巨集交谈窗,选取一个巨集名称来执行。lStep5:若没有错误,就可以看到程序执行的结果,你也可以选取一个储存格范围来试试看! 1ppt课件VBAVBA基本结构基本结构- -程序或程序或函数函数lStep6:现在我们在来看看函数程序是怎么做跟怎么执行的?在新增程序交谈窗,输入名称为leapy
10、ear1,型态为Function表示为一个函数程序。在同一模块下,程序或函数名称都不可重复。lStep7:按确定后,一样自动在程序视窗加入了一段定义函数的宣告与结束指令,所不同的是程序的关键字是Sub,而函数是Function,同样都以End来结束程序。lStep8:虽然透过插入/程序产生了一小小段程序,我们还是可以在程序视窗直接修改它哦!也可以直接复制一段程序或函数来修改,这里我们就把leapyear1改为slength,我们想利用勾股定理来计算三角形的斜边,而无论是程序或函数都不一定要传入参数,但宣告程序或函数后的( )左右括号一定要存在,在这里我们需要三角型的两边,所以我们就在括号中定义
11、了两个传入的参数x1及y1,资料型态都是整数。1ppt课件VBAVBA基本结构基本结构- -程序或程序或函数函数lStep9:做好了,要如何执行?选取任一储存格(这里我们选A1),按一般工具列上的插入函数钮,在插入函数交谈窗中,选取类别为使用者定义类别,按确定。lStep10:出现插入函数交谈窗,这里只定义一个函数slength,就选择它了,按确定。1ppt课件VBAVBA基本结构基本结构- -程序或程序或函数函数lStep11:出现函数自变量交谈窗,可以直接输入值或使用摺叠钮来选取其他储存格资料,我们输入3与4后,已可看到结果为5。lStep12:已将计算结果放到A1储存格。1ppt课件VB
12、AVBA基本结构基本结构- -常数、变量与资料型态常数、变量与资料型态l通常会使用 Dim 陈述式来宣告变量。lDim 陈述式的语法为:lDim 变量名称 as 资料型态 . . .( 内的表示可省略)l在 Dim 陈述式的语法中,Dim 是必备的关键字。而唯一必备的元素是变量名称。 l变量可以宣告成下列资料型态中的一者:Boolean、Byte、Integer、Long、Currency、Single、Double、Date、String(可变长度字符串)、String * length (固定长度字符串)、Object 或 Variant。如果您未指定资料型态,则 Variant资料型态会
13、被指定成预设型态。在宣告陈述式中,您不一定要提供变量的资料型态,若省略资料型态的则会将变量设成 Variant 型态。 1ppt课件常数、变量与资料型态常数、变量与资料型态l变量的命名规则:l(1)必须以字母为开头。l(2)不可以包含句号、关键字及型态宣告字符。l(3)不能超过255个字。l(4)如果这个陈述式出现在程序中,则此变量只可以在此程序中被使用。如果这个陈述式出现在模块中的 宣告 区段,则此变量可以被此模块中所有的程序所使用,但是不能被同一项目中不同的模块所含程序来使用。为了使变量可被项目中所有的程序所使用,则在变量名称前加上 Public 陈述式。1ppt课件常数、变量与资料型态常
14、数、变量与资料型态l宣告常数宣告常数l我们使用 Const 陈述式宣告部份常用到的文数字设为常数。例如:l 常数的预设状态是 Private。lConst MyVar = 459l 宣告 Public 常数。lPublic Const MyString = HELPl 在同一行里宣告多个常数。lConst MyStr = Hello, MyDouble As Double = 3.4567 l宣告变量宣告变量lDim x1 as Integer, y2 as ObjectlSub slength()1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -物件物件l物件导
15、向程序中,有四个很重要的元件,(1)物件(2)属性(3)方法及(4)事件,而当我们把物件相关的属性,执行的方法,引发的事件,依物件导向语法组合在一起就是所谓的指令或陈述式。l物件物件lExcel中常见的物件有按钮、储存格范围、工作表等等,在程序中为了使用方便,将某些同型态的物件集合在一起,称为物件集,其关键字为英文的复数型态,如Worksheets,例如想在ch24.xls的sheet1工作表中的A1储存格放入数值5,可以这样写:lWorkbooks(“ch24.xls”).Worksheets(“sheet1”).Range(“A1”).Value=5 1ppt课件VBAVBA基本结构基本结
16、构- -物件式导向语法物件式导向语法- -物件物件我们可以在VBA环境的一般工具列上按浏览物件,可看到有相当多的物件类型。1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -属性属性l属性属性:各种不同的物件,各有其特定的性质,我们称之为属性,通常我们利用属性来控制物件的外观,如设定储存格的字型、颜色等,我们常用指定陈述是来达成。l物件.属性=设定值或 变量=物件.属性lStep1:例如在物件Font上,按右键,执行快显功能表中的说明。 1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -属性属性lStep2:会开启Font的在线说明,亦
17、会介绍其相关的属性、方法及事件等,样可以复制到我们的程序视窗。1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -属性属性lStep3:如果在Color属性按右键,执行说明。lStep4:出现了Color属性的详细说明。1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -属性属性l一些中要属性的用法:一些中要属性的用法:l(1)Range 属性属性l可用 Range(arg) 传回代表单个储存格或储存格范围的 Range 物件,其中 arg 为范围名称。以下范例将储存格 A1 中的值指派给储存格 A5。lWorksheets(Sheet1
18、).Range(A5).Value =Worksheets(Sheet1).Range(A1).Valuel以下范例清除范围 Criteria 中的内容。lWorksheets(1).Range(Criteria).ClearContentsl(2)Cells 属性属性l可用 Cells(row, column) 传回单个储存格,其中 row 为列索引,column 为栏索引。以下范例将储存格 A1 的值设定为 24。lWorksheets(1).Cells(1, 1).Value = 24l以下范例设定储存格 A2 的公式。lActiveSheet.Cells(2, 1).Formula =
19、 =Sum(B1:B5)1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -属性属性l(3)Offset 属性属性l可用可用 Offset(row, column) 传回相对于另一范围在指定位移处的范传回相对于另一范围在指定位移处的范围,其中围,其中 row 和和 column 为列位移和栏位移。以下范例选取位于为列位移和栏位移。以下范例选取位于目前选定范围左上角储存格下三列,右一栏处的储存格。由于无法目前选定范围左上角储存格下三列,右一栏处的储存格。由于无法选取不在使用中工作表上的储存格,故必须先启动工作表。选取不在使用中工作表上的储存格,故必须先启动工作表。lW
20、orksheets(Sheet1).Activatel Cant select unless the sheet is activelSelection.Offset(3, 1).Range(A1).Selectl技巧:用技巧:用With快速设定属性快速设定属性lWith 陈述式可以让您的程序执行的更快速并且帮助您避免重复的陈述式可以让您的程序执行的更快速并且帮助您避免重复的键入程序码。键入程序码。l下面的范例将某一范围的储存格都填入下面的范例将某一范围的储存格都填入 30,字型使用黑体格式,字型使用黑体格式,并将储存格的内部颜色设定成黄色。并将储存格的内部颜色设定成黄色。lSub Forma
21、tRange()l With Worksheets(Sheet1).Range(A1:C10)l .Value = 30l .Font.Bold = Truel .Interior.Color = RGB(255, 255, 0)l End WithlEnd Sub1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -方法方法l方法方法l除了用除了用属性属性来改变物件外,还可以使用来改变物件外,还可以使用方法方法来要求物件做一些动来要求物件做一些动作,参下图,可以看到作,参下图,可以看到Sheets成员中前半部的成员中前半部的属性属性都为都为名词名词,而后半,而后半部
22、的部的方法方法都为都为动词动词。1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -事件事件l事件事件是指要执行或驱动某一物件执行一些动作所发出的讯息,如按一是指要执行或驱动某一物件执行一些动作所发出的讯息,如按一下鼠标,按一下键盘或开启活页簿,另外我们也可以透过我们写的程序下鼠标,按一下键盘或开启活页簿,另外我们也可以透过我们写的程序码来驱动或导致某些事件的发生。如下,我们可以看物件可以有哪些事码来驱动或导致某些事件的发生。如下,我们可以看物件可以有哪些事件。件。lCommandButton1(按钮按钮)物件,有物件,有Click(按一下按一下),DbClick(
展开阅读全文