电子表格VBA编程计算速成_第1页
电子表格VBA编程计算速成_第2页
电子表格VBA编程计算速成_第3页
电子表格VBA编程计算速成_第4页
电子表格VBA编程计算速成_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子表格VBA编程计算速成(2)第二章 学习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.ColumnEndWithEndSub3)命令按钮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⋯⋯Endsub4)自定义菜单项事件:电子表格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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论