VBA语言的绝大部分过程其实就是处理各种对象的过程。只有深入理解Excel VBA涉及的不同对象及其层次结构,才能轻松驾驭VBA语言。
在VBA中,具有相同属性的对象组成一个集合。同时,所有的VBA对象都被分层归类。
每一种对象都有一些特征供你描述,这些对象的特征被称为“属性”。例如,工作簿对象有名称属性;区域对象有列、字体、公式、名称、行、样式和值等属性。这些对象属性是可以设置的。你通过设置对象的属性控制对象的外观和位置。对象属性一次只能设置为一个特定的值。
属性可以让你改变对象的外观,但是,如何控制这些操作呢?使用对象的方法。每一种你想要对象做的操作都被称为“方法”。最重要的VB方法是Add方法。你可以使用这个方法添加一个新工作簿或者工作表。
1 常用对象
Application | 整个Excel应用程序。 |
Windows | 窗口 |
Worksheets | 工作表 |
Sheets | 指定的或活动工作簿中所有工作表的集合 |
ShapeRanges | 形状区域,它是文档中的一组形状 |
PivotTables | 工作表上的数据透视表 |
Workbooks | Excel工作簿 |
Shapes | 绘图层中的对象,例如自选图形、任意多边形、OLE对象或图片 |
Range | 某一单元格、某一行、某一列、某一选定区域,或者某一三维区域 |
Names | 单元格区域的定义名。名称可以是内置名称(如Print_Area)或自定义名称 |
Charts | 工作簿中的图表 |
Hyperlinks | 超级链接对象 |
comments | 批注对象 |
CommandBarPopup | 命令栏上的一个弹出式控件 |
CommandBars | 容器应用程序中的命令栏 |
2 利用定义名称获取对象
A("人事资料表.xlsm").Sheets("总表").Range("A10")
3 使用集合索引号
worksheets(1).CheckBoxes(2).Value = 1
4 使用活动对象引用
在引用活动对象时,不需要罗列其上层对象,因而比较简单和快捷。
ActiveCell
ActiveSheet
ActiveWorkbook
ActiveWindow
5 利用事件中的Me引用
Me在事件过程中表示当前过程的对象。如在工作表(簿)事件中使用Me,则它代表当前工作表(簿),在窗体中中使用Me,则它代表窗体对象。
对于窗体控件,在窗体事件中,可以直接使用窗体名称引用窗体控件。
6 VBA对象浏览器
对象浏览器让你浏览VBA过程中可用的对象,也可以查看它们的属性,方法和事件。
选择“视图”-“对象浏览器”(F2)
-End-