认识VBA及其应用-ppt课件.ppt

上传人(卖家):三亚风情 文档编号:2813851 上传时间:2022-05-28 格式:PPT 页数:69 大小:1.17MB
下载 相关 举报
认识VBA及其应用-ppt课件.ppt_第1页
第1页 / 共69页
认识VBA及其应用-ppt课件.ppt_第2页
第2页 / 共69页
认识VBA及其应用-ppt课件.ppt_第3页
第3页 / 共69页
认识VBA及其应用-ppt课件.ppt_第4页
第4页 / 共69页
认识VBA及其应用-ppt课件.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

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(

23、按二下按二下).等等事件。等等事件。1ppt课件VBAVBA基本结构基本结构- -物件式导向语法物件式导向语法- -事件事件l工作表上的常用事件如下。工作表上的常用事件如下。l当启动工作表、使用者变更工作表上的储存格、或枢纽分析表变更时,当启动工作表、使用者变更工作表上的储存格、或枢纽分析表变更时,即会发生工作表级的事件。当启动活页簿、工作表、图表、或内嵌图表即会发生工作表级的事件。当启动活页簿、工作表、图表、或内嵌图表时发生时发生Activate事件。事件。Activate BeforeDoubleClickBeforeRightClickCalculateChangeDeactivate

24、FollowHyperlinkPivotTableUpdateSelectionChange1ppt课件程序的控制结构程序的控制结构- -使用使用 If.Then.Else If.Then.Else 陈述式陈述式 lIf.Then.Else 陈述式会根据条件式的值,而执行指定的陈述式会根据条件式的值,而执行指定的陈述式或一个区块的陈述式。陈述式或一个区块的陈述式。If.Then.Else 陈述式可以陈述式可以依据您的需要而做多阶层的巢状执行。然而,为了可读性依据您的需要而做多阶层的巢状执行。然而,为了可读性您可能会使用您可能会使用 Select Case 陈述式而不使用多阶层的巢状陈述式而不使

25、用多阶层的巢状 lIf.Then.Else 语法。下列的范例展示了语法。下列的范例展示了单行单行语法,并语法,并省略了省略了 Else 关键字关键字:lSub FixDate()l myDate = #2/13/95#l If myDate Now Then myDate = NowlEnd Sub1ppt课件程序的控制结构程序的控制结构- -使用使用 If.Then.Else If.Then.Else 陈述式陈述式 lIf.Then.Else 陈述式会根据条件式的值,而执行指定的陈述式会根据条件式的值,而执行指定的陈述式或一个区块的陈述式。陈述式或一个区块的陈述式。If.Then.Else

26、陈述式可以陈述式可以依据您的需要而做多阶层的巢状执行。然而,为了可读性依据您的需要而做多阶层的巢状执行。然而,为了可读性您可能会使用您可能会使用 Select Case 陈述式而不使用多阶层的巢状陈述式而不使用多阶层的巢状 lIf.Then.Else 语法。下列的范例展示了语法。下列的范例展示了单行单行语法,并语法,并省略了省略了 Else 关键字关键字:lSub FixDate()l myDate = #2/13/95#l If myDate 8l Bonus = 100l Case Elsel Bonus = 0l End SelectlEnd Function1ppt课件程序的控制结构程

27、序的控制结构- -使用使用 Do.Loop Do.Loop 陈述式陈述式 l您可以使用您可以使用 Do.Loop 陈述式去执行一个区块的陈述式,而它所用掉陈述式去执行一个区块的陈述式,而它所用掉的时间是不确定的。当条件式为的时间是不确定的。当条件式为 True 或直到条件式变成或直到条件式变成 True 之前,之前,此陈述式会一直重复。此陈述式会一直重复。l()重复陈述式直到条件式为()重复陈述式直到条件式为 Truel当使用当使用 While 关键字去检查关键字去检查 Do.Loop 陈述式中的条件式时,可以有陈述式中的条件式时,可以有两种不同的方式。您可以在进入循环之前检查条件式,也可以在

28、循环至两种不同的方式。您可以在进入循环之前检查条件式,也可以在循环至少执行一次之后才检查条件式。少执行一次之后才检查条件式。l在下面的在下面的 ChkFirstWhile 程序中,是在进入循环之前检查条件式。如程序中,是在进入循环之前检查条件式。如果果 将将 myNum 的值由的值由 20 替换成替换成 9,则在循环中的陈述式将永远不会执,则在循环中的陈述式将永远不会执行。行。 在在ChkLastWhile 程序中,在条件式变成程序中,在条件式变成 False 之前循环中的陈之前循环中的陈述式会一直执行。述式会一直执行。lSub ChkFirstWhile()l counter = 0l my

29、Num = 20l Do While myNum 10l myNum = myNum - 1l counter = counter + 1l Loopl MsgBox The loop made & counter & repetitions.lEnd Sub1ppt课件程序的控制结构程序的控制结构- -使用使用 Do.Loop Do.Loop 陈述式陈述式 l()从()从 Do.Loop 陈述式中离开陈述式中离开l您可以使用您可以使用 Exit Do 陈述式来离开陈述式来离开 Do.Loop 陈述式。举陈述式。举例而言,为了离开无穷循环,可以将例而言,为了离开无穷循环,可以将 Exit Do

30、 陈述式放在陈述式放在 If.Then.Else 陈述式或是陈述式或是 Select Case 陈述式中的陈述式中的 True 陈述式区块。如果条件式为陈述式区块。如果条件式为 False,则循环会像平常一样执,则循环会像平常一样执行。可以按下行。可以按下 ESC 或或 CTRL+BREAK 来终止无穷循环。来终止无穷循环。1ppt课件程序的控制结构程序的控制结构- -使用使用 For.Next For.Next 陈述式陈述式 l您可以使用您可以使用 For.Next 陈述式去执行一个区块的陈述式去执行一个区块的陈述式陈述式,而它所用掉的时间是特定的。而它所用掉的时间是特定的。For 循环使用

31、一个计数变量,循环使用一个计数变量,当反覆的执行循环时它的值会增加或减少。当反覆的执行循环时它的值会增加或减少。l下面的程序会让计算机发出哔声下面的程序会让计算机发出哔声 50 次。次。For 陈述式会指定陈述式会指定计数变量计数变量 x 的开始与结束值。的开始与结束值。Next 陈述式会将计数变量的陈述式会将计数变量的值加值加 1。lSub Beeps()l For x = 1 To 50l Beepl Next xlEnd Sub1ppt课件程序的控制结构程序的控制结构- -使用使用 For.Next For.Next 陈述式陈述式 l使用使用 Step 关键字关键字,可以增加或减少计数变

32、量的值,并且增减值可由您,可以增加或减少计数变量的值,并且增减值可由您指定。在下面的范例中,计数变量指定。在下面的范例中,计数变量 j 会在循环重复时加上会在循环重复时加上 2。当循环结。当循环结束时,束时,total 的值为的值为 2、4、6、8 和和 10 的总合。的总合。lSub TwosTotal()l For j = 2 To 10 Step 2l total = total + jl Next jl MsgBox The total is & totallEnd Subl为了减少计数变量的值,您可以使用负的为了减少计数变量的值,您可以使用负的 Step 值。在值。在 Next 陈述

33、式后陈述式后面可以不用加上计数变量的名称。在面可以不用加上计数变量的名称。在 For.Next 陈述式中您可以在计陈述式中您可以在计数变量到达它的结束值之前,使用数变量到达它的结束值之前,使用 Exit For 陈述式来离开。举例而言,陈述式来离开。举例而言,当错误发生时可以将当错误发生时可以将 Exit For 陈述式放在陈述式放在 If.Then.Else 陈述式或是陈述式或是 Select Case 陈述式中的陈述式中的 True 陈述式区块,它是专门用来检查此错误陈述式区块,它是专门用来检查此错误的。如果没有错误发生,的。如果没有错误发生,If.Then.Else 陈述式的值为陈述式的

34、值为 False,则循环,则循环会像预期一样的执行。会像预期一样的执行。 1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座l我们以输入日期中的月和日的资料来判断,因为是程序,必须我们以输入日期中的月和日的资料来判断,因为是程序,必须以选取的储存格的日期来做,输入如下程序,并将结果放在此储存格的以选取的储存格的日期来做,输入如下程序,并将结果放在此储存格的右一格。右一格。lStep1:输入程序后,都没有红色警戒:输入程序后,都没有红色警戒(错误语法错误语法),先存档。,先存档。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程

35、序来判断星座以程序来判断星座lStep2:在:在A3储存格输入储存格输入1990/5/2,执行看看。,执行看看。lStep3:糟了个糕,有错误,按:糟了个糕,有错误,按侦错侦错钮。钮。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座lStep4:原来是最后一行打错了,应该是:原来是最后一行打错了,应该是ActiveCell。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座lStep4:原来是最后一行打错了,应该是:原来是最后一行打错了,应该是ActiveCell。1ppt课件24-3 VBA24

36、-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座lStep5:修改完毕,继续:修改完毕,继续执行执行。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座lStep6:果然在:果然在B3储存格显示了金牛座。储存格显示了金牛座。lStep7:如果有人不清楚此程序的功能,想试试看,但在:如果有人不清楚此程序的功能,想试试看,但在A4输入输入了了abc。lStep8:执行结果为型态不符合的错误,按:执行结果为型态不符合的错误,按侦错侦错钮。钮。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断

37、星座lStep9:因为:因为year这个函数必须使用日期型态资料为自变量。这个函数必须使用日期型态资料为自变量。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座lStep10:所以在用:所以在用year函数前,加入先判断是否为有效日期,不函数前,加入先判断是否为有效日期,不是则出现警告讯息,结束程序。是则出现警告讯息,结束程序。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以程序来判断星座以程序来判断星座lStep11:因为已经执行到这里,更正错误后继续执行也会一直出:因为已经执行到这里,更正错误后继续执行也会一直出现错误,

38、所以我们按现错误,所以我们按重新设定重新设定,从头再执行一次。,从头再执行一次。lStep12:结果如下,出现日期错误讯息。:结果如下,出现日期错误讯息。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以函数来判断闰年以函数来判断闰年l判断闰年的方法如下:判断闰年的方法如下:l公元年,被公元年,被4整除?整除?no-不是闰年不是闰年l yes,被,被100整除?整除?-no-是闰年是闰年 yes,被,被400整除?整除?no-不是闰年不是闰年 yes-是闰年是闰年lStep1:如果我们关闭了程序视窗,只要在:如果我们关闭了程序视窗,只要在项目视窗项目视窗上按上按检视程序码检视

39、程序码即可。即可。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以函数来判断闰年以函数来判断闰年lStep2:插入一函数,并输入一参数为日期型态,取参数的年资料,:插入一函数,并输入一参数为日期型态,取参数的年资料,按判断闰年的逻辑来写出下列程序码,跟上一题一样,先检查是否为有按判断闰年的逻辑来写出下列程序码,跟上一题一样,先检查是否为有效日期。效日期。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以函数来判断闰年以函数来判断闰年lStep3:在:在A5输入输入2001/1/1,选取,选取B5,用执行函数的方法来执行,用执行函数的方法来执行leapyea

40、r函数。函数。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以函数来判断闰年以函数来判断闰年lStep4:在:在函数自变量函数自变量交谈窗中,选取交谈窗中,选取A5储存格来当自变量,按储存格来当自变量,按确确定定。lStep5:在:在B5果然出现了是润年!果然出现了是润年!1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以函数来判断闰年以函数来判断闰年lStep6:再试试:再试试A6储存格的资料。储存格的资料。lStep7:结果也是正确的。:结果也是正确的。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单l

41、大型的信息系统开发,通常是让使用者从主选单执行的,我们就来做一大型的信息系统开发,通常是让使用者从主选单执行的,我们就来做一个简单的主选单。个简单的主选单。lStep1:再:再VBA操作环境下,执行操作环境下,执行插入插入/自订表单自订表单。lStep2:在属性视窗中,将表单的标题:在属性视窗中,将表单的标题(caption)改成主选单。改成主选单。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep3:按一般工具列上之:按一般工具列上之工具箱工具箱钮,叫出钮,叫出工具箱工具箱工具列。工具列。1ppt课件24-3 VBA24-3 VBA应

42、用简例应用简例- -以表单来作主选单以表单来作主选单lStep4:选择:选择按钮按钮工具。工具。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep5:在主选单上拖曳出一矩形区域。:在主选单上拖曳出一矩形区域。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep6:放开后,在主选单上我们已做了一个按钮,并透过属:放开后,在主选单上我们已做了一个按钮,并透过属性视窗将按钮的标题改为销售资料。性视窗将按钮的标题改为销售资料。1ppt课件24-3 VBA24-3 VBA应用简例应用简例-

43、-以表单来作主选单以表单来作主选单lStep7:在:在销售资料销售资料按钮上按两下,出现事件启动的程序视按钮上按两下,出现事件启动的程序视窗,输入窗,输入Worksheets(“Sheet2”).Activate,表示当使,表示当使用者按到此按钮时,会切换到用者按到此按钮时,会切换到sheet2工作表上。工作表上。lStep8:我们依序又做了:我们依序又做了3个按钮。个按钮。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep9:并定义了相对的事件程序,在按:并定义了相对的事件程序,在按结束结束钮时,会帮我们存档,钮时,会帮我们存档,并自

44、动离开并自动离开Excel。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep10:执行主选单,按一下:执行主选单,按一下销售分析表销售分析表按钮。按钮。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep11:果然立刻跑到该工作表去。:果然立刻跑到该工作表去。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep12:如果每次开启此活页簿档案时就自动执行此表单,比较像主:如果每次开启此活页簿档案时就自动执行此表单,比较像主选单

45、,我们可以这样做,在选单,我们可以这样做,在Workbook的物件中,选择的物件中,选择Open事件,输入事件,输入Load UserForm 及及UserForm.Show即可,表示当开即可,表示当开启此活页簿时,会自动开启此主选单。启此活页簿时,会自动开启此主选单。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep13:试试看,重新开启此活页簿,按:试试看,重新开启此活页簿,按启用巨集启用巨集钮。钮。1ppt课件24-3 VBA24-3 VBA应用简例应用简例- -以表单来作主选单以表单来作主选单lStep14:果然开启了我们的主选单。:果然开启了我们的主选单。l在这个简单的主选单程式中,我们透过表单上的按钮设计按钮事件在这个简单的主选单程式中,我们透过表单上的按钮设计按钮事件驱动程序,而且我们也透过系统的开启档案事件来驱动我们定义驱动程序,而且我们也透过系统的开启档案事件来驱动我们定义的主选单程序,透过事件,你来我往,就是物件导向设计中繁忙社会的主选单程序,透过事件,你来我往,就是物件导向设计中繁忙社会互动的最佳缩影。互动的最佳缩影。 1ppt课件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(认识VBA及其应用-ppt课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|