上一节 下一节

VBA编程概述


32.1.1 VBA编程环境

Visual Basic工具栏

在Excel工具栏的任意一处点击鼠标右键,从弹出菜单中选择“Visual Basic”,出现Visual Basic工具栏,如下图:

C:\Users\Administrator\DOCUME~1\ADMINI~1\LOCALS~1\Temp\HyperSnapClipImage.jpg


VBA编辑器

点击Visual Basic工具栏上的33-01.002.jpg  ,可进入Visual Basic编辑器,如图:


还有一种进入VBA编辑器的方法:点击菜单“工具-宏-Visual Basic编辑器”

通过帮助学习VBA编程

在VBA编辑器中点击“帮助”菜单,可看到打开Visual Basic联机帮助,您可以系统、完整地学习VBA编程的有关内容。

利用按钮和窗体等控件

点击Visual Basic工具栏上的33-01.004.jpg  ,弹出控件工具箱,其中列示各种文本框、复选框、按钮等各种控件,若想在工作表上添加一个控件,可先在控件工具箱中单击此控件,然后在工作表上单击,该控件会出现在相应位置,您可以进一步修改它的属性或添加事件处理程序。

C:\Users\Administrator\DOCUME~1\ADMINI~1\LOCALS~1\Temp\HyperSnapClipImage.jpg


32.1.2 Excel对象模型

从编程的角度来看,Excel的各个组成部分都称为对象,一个工作簿是一个Workbook对象,其中的每个工作表是Worksheet对象,一个单元格是range对象,等等。每种对象都有一定的“属性”。比如说,Range对象有一个value属性,代表单元格中的内容,这样,当我们想得到A4单元格的值时,就可以写这样一行代码:

x=range(“A4”).value

对象还有一定的“事件”和“方法”,比如说,workbook对象有一个beforePrint事件,当用户打印工作簿文件时发生,这样,如果我们希望在打印前提醒用户检查打印机,就可以写下面的这段代码。

Private Sub Workbook_BeforePrint(Cancel As Boolean)

   MsgBox "请检查打印机,然后按确定。"

End Sub

下表列举了Excel的常用对象及其属性和方法

对象名含义属性/方法属性/方法含义
Workbook工作簿Worksheets属性属性,所包含的工作表集合
Worksheets工作表集合Count属性集合中包含的工作表数
Worksheet工作表Name属性工作表名称
PrintOut方法打印
PrintPreview方法打印预览
Range单元区域(格)Address属性区域地址
Row属性左上角行号
Column属性左上角列号
Rows属性包含的所有行
Columns属性包含的所有列
Value属性
Formula属性公式内容
Select方法选中区域

打开Excel的联机帮助,在目录树中展开“编程信息”,可看到Excel的对象模型,如下图所示。从中您可以详细了解每一种对象及其属性和方法的含义、用法。



32.1.3 事件驱动的编程

如前所述,Excel中的工作簿、工作表、单元区域、单元格、工具栏等都是对象,每类对象都有自己的一套属性、方法和事件。“事件”在用户操作后发生,比如“保存”是一个事件,“打开”某个工作簿是一个事件,在某单元格中“输入”内容是一个事件,点击一个按钮还是一个事件。如果我们希望在完成某项操作的时侯执行某段程序,就要把这段程序写在该操作对应的事件处理程序中。

常用的事件有

对象操作事件处理程序
工作簿打开Workbook_Open
关闭Workbook_BeforeClose
保存Workbook_BeforeSave
打印Workbook_BeforePrint
工作表双击Worksheet_BeforeDoubleClick
右击Worksheet_BeforeRightClick
选中区域/单元格Worksheet_SelectionChange
改变单元格内容Worksheet_Change
激活Worksheet_Activate


上一节 下一节