您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > 第二章学习VBA编程基础
第二章学习VBA编程基础学会了专业函数的编程,极大地方便了在电子表格里进行函数,工程、科学计算。但要实现复杂专业计算的自动化,还需要学会对工作簿、工作表和单元格常用基本操作的编程——VBA编程:主要是学会工作簿、工作表运行环境,选项,计算,编辑,输入,输出等的代码编写。在介绍常用编程代码之前,还是先来认识一下电子表格Excel的VBA代码编写的基本知识,这样对看懂后面的常用编程代码是很有必要的(当然,是对像我这样菜鸟级的人而言,对高手们来说也许是多余的话)。2.1认识VBA的对象、属性、方法、事件电子表格VBA是面向对象的编程语言。因为它简单、易学,功能强大,很受编程爱好者的喜爱。既然电子表格VBA是面向对象的编程语言,首先就要弄清电子表格VBA的对象是什么?有哪些?对象的属性、方法、事件是什么?有哪些?一,电子表格VBA的对象Excel应用程序(Application)范围内的设置和选项(例如“工具”菜单上“选项”对话框内的许多选项);返回顶级对象的方法,例如ActiveCell活动单元格和ActiveSheet活动工作表等都是VBA的对象。请看帮助文件中Excel对象模型二,电子表格对象的属性、方法和事件属性是对象本身固有的特性。如:单元格这一对象,用于存储计算数据和公式,它具有大小,字体,数据格式,填充色,边框,底纹,保护等属性。表示属性格式为:对象名称.属性名称=属性值,如:ActiveCell(1,2).Value=100对象:ActiveCell(1,2);属性:Value=;属性值:100方法是对象能做的事,在VBA中,对象的方法就是对象本身包含的函数和过程。调用格式为:对象名称.方法名称,如:Range(G6).Select对象:Range(G6);方法:Select事件是发生在对象上的事情。在VBA中,事件是预先设置的,能被对象识别的动作。如Load加载、Click鼠标单击、Workbook_Open()、Worksheet_Activate()激活工作表等。VBA编程就是在VBA集成开发环境中通过编写代码,激发某种事件,驱动某种方法,以精心设计的流程,实现我们预期得到的结果输出。三,电子表格VBA语句代码的基本形式应该知道:每个VBA语句是构成VBA程序的基本单元;每个VBA语句都要实现一种功能,相关的一些语句组成完成特定任务的函数或过程、子过程,将许多函数、过程和子过程通过精心设计的流程组织起来,实现我们的预定目标,这就是VBA程序。在理解了对象、属性、方法、事件后,总结一下VBA语句的基本形式:1,对象.属性=”属性值”如:ActiveCell(1,2).Value=100‘对象ActiveCell(1,2)的Value值=100Sheet1.ScrollArea=”a1”‘对象Sheet1的ScrollArea滚动范围=”a1”2,对象.属性.….属性=”属性值”如:在Sheet1的A1单元格中创建一个公式Worksheets(Sheet1).Range(A1).Formula==10*RAND()3,对象.方法如:激活工作表sheet1Worksheets(Sheet1).Activate4,对象.属性.方法如:将工作表Sheet1上单元格区域A1:D4中的公式复制到工作表Sheet2上的单元格区域E5:H8中。Worksheets(Sheet1).Range(A1:D4).Copy_destination:=Worksheets(Sheet2).Range(E5)5,对象.属性.….方法如:将工作表Sheet1上单元格区域A1:D10中的字体大小设置为12。Worksheets(Sheet1).Range(A1:D10).Font.Size=126,常用事件:(1)Workbook_Open():每次打开工作簿时发生。下例打开工作簿时,对窗口进行格式化。PrivateSubWorkbook_Open(),Dimoldcaptionasstring'用oldCaption变量保存打开本工作簿前的EXCEL标题Sheet1.Activate'激活工作表1WithActiveWindow'以下是对当前活动窗口的操作.DisplayGridlines=False'不显示网格线.DisplayHeadings=False'不显示行号列标.DisplayOutline=False'不显示大纲视图.DisplayZeros=False'隐藏窗口0值★.DisplayHorizontalScrollBar=False'隐藏水平滚动条.DisplayVerticalScrollBar=False'隐藏垂直滚动条.DisplayWorkbookTabs=False'隐藏工作表标签.WindowState=xlMaximized'工作簿打开时最大化EndWith'结束针对当前活动窗口的操作ActiveWorkbook.DisplayDrawingObjects=xlHide'隐藏绘图工具栏WithApplication.DisplayFormulaBar=False'隐藏公式编辑栏.DisplayStatusBar=False'隐藏状态栏.ShowWindowsInTaskbar=False'隐藏窗口任务栏工具栏EndWithApplication.CommandBars(Standard).Visible=False'隐藏标准工具栏Application.CommandBars(Formatting).Visible=False'隐藏格式工具栏EndSub(2)Worksheet_SelectionChange(ByValTargetAsRange):工作表上的选定区域发生改变时,产生本事件。下例滚动工作簿窗口,直至选定区域位于窗口的左上角。PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)WithActiveWindow.ScrollRow=Target.Row.ScrollColumn=Target.ColumnEndWithEndSub(3)命令按钮Click事件:在电子表格VBA编程计算中,最简单的启动方式就是在活动工作表上设计一个命令按钮,当用鼠标单击命令按钮,就启动设计的相应计算。下例单击工作表sheet1计算地形点坐标的命令按钮时引发的事件过程:(参见4.3)PrivateSubdxdzbButton1_Click()‘PrivateSub名称Buttonl_Click()DimxzanAsString‘声明变量xzanDimmsg,style,title,response‘声明变量msg,style,title,responseApplication.AskToUpdateLinks=False‘取消Excel的更新链接Sheet1.Visible=xlSheetVisible‘设置Sheet1(“地形点”)可见Sheet3.Visible=xlSheetVisible‘设置Sheet3(“操作指南”)可见Sheet2.Visible=xlSheetHidden‘设置Sheet2(“表面积”)不可见Sheet1.Activate‘激活Sheet1……Endsub(4)自定义菜单项事件:电子表格VBA编程计算的另一个启动方法是单击自定义菜单项。(3)例中如是单击的自定义“地形点坐标计算”菜单项,菜单项指定运行宏为:dxdzb(),则引发的事件过程代码为:PrivateSubdxdzb()DimxzanAsStringDimmsg,style,title,responseApplication.AskToUpdateLinks=FalseSheet1.Visible=xlSheetVisibleSheet3.Visible=xlSheetVisibleSheet2.Visible=xlSheetHiddenSheet1.Activate……Endsub2.2在ExcelVBA集成开发环境中编写、学习代码我们看到,电子表格每个对象都有相应的许多方法和事件,要记下那么多的方法、事件、属性值,对一般人,特别是不懂英语的人来说是不可能的。VBA集成开发环境提供了对象和事件管理器,使编写代码不再困难。一,在ExcelVBA集成开发环境中编写代码如图。对象:Worksheet工作表;事件:Activate激活过程:PrivateSubWorksheet_Activate()……EndSub‘激活工作表过程代码:Sheet1.ScrollArea=”a1”‘对象:Sheet1;属性ScrollArea滚动范围=”a1”这一代码过程,实现打开Worksheet工作表,Sheet1只有A1单元格是活动的。执行这一段代码,可用来保护Sheet1,防止被人删改。在输入代码时,当在sheet1后,再输入小数点“.”(不含“”),立即出现“属性方法提示窗口”。你可以输入你设计的属性、方法的英语名称,也可以拖动提示窗口滚动条查找你需要的属性、方法,找到后点击上屏。如果你对英语不懂、不精,你还可以让《词霸》来帮你查看、选择。注:指点图标项表示属性;绿方块图标项表示方法。你看,是不是很方便!二,在ExcelVBA集成开发环境中利用帮助系统学习编写代码在Excel中,那数不清的对象、属性、方法、事件都可以通过自带的帮助系统来随时查询。学会在VBA集成开发环境中实时查询对象、属性、方法、事件的帮助,这是我们学习编程和正确编写代码的极好途径。在ExcelVBA集成开发环境中,要取得某个关键字的联机帮助,最简单的方式就是将光标指到该关键字上的任何地方,再按下F1即可。不要选择此关键字。因为如果您只选择关键字的一部分或者选了一个以上的字,就会找不到需要的帮助。如下3图,是将光标分别停在show、Private、EndSub后,按下F1键分别显示的帮助窗口。通过帮助窗口,我们就可以看到各有关属性、方法、事件的具体含义、用法和示例。通过反复的日积月累,步步深入,您也就逐步从“菜鸟”变成了“凤凰”。值得注意的是:学海无涯,“有的放矢,学以致用”是我们学习的最便捷的原则,不要贪多求全,一口吃不了一个胖子。在ExcelVBA集成开发环境中,还有一个对象浏览器,点击对象浏览器图标即可打开它。“对象浏览器”可让您浏览工程中所有可获得的对象并查看它们的属性、方法以及事件。此外还可查看工程中可从对象库获得的过程以及常数。很容易显示您所浏览的对象的联机帮助,也可用“对象浏览器”去搜索和使用您所创建的对象;其它应用程序的对象也可用它来浏览。使用“对象浏览器”,请按照以下步骤执行:1.在“工程/库”列表中选定您所要查看的工程或程序库名称。2.使用“类”列表选定类;使用“成员”列表去选定类或工程中的特定成员。3.查看在窗口底端的详细资料区选定的工程或类的信息。4.使用“帮助”按钮显示所选类或成员的帮助主题。用好对象浏览器,是我们学习VBA编程的极好工具,是第一手的大教程。市面上虽有许多大部头“教程”,但初学者能看的懂、用的上的好书实在是凤毛麟角,无怪乎有的朋友惊呼“垃圾书”太多!真希望我们的专家、高手们多写一些深入浅出的,少些概念,多些具体示例,让初学者能看的懂、用的上的好书。
本文标题:第二章学习VBA编程基础
链接地址:https://www.777doc.com/doc-2186416 .html