【VBA笔记】VBA的对象、集合、属性和方法

1、对象:用VBA代码操作和控制的东西
在VBA中,Excel的工作簿、工作表、单元格是对象,图表、透视表、图片也是对象,甚至单元格的边框线、插入的批注等也是对象。Excel中的一个对象可能包含其他对象,同时又包含在另一个对象中。

https://msdn.microsoft.com/zh-cn/library/office/ff194068.aspx中可以查看所有对象模型的资料

2、集合:对多个相同类型对象的统称,不同级别之间用“·”连接
例如:Application.Workbooks("Book1").Worksheets("sheet2").Range("A2")
Application对象:代表Excel程序,是Excel中对象的最顶层;
Workbooks对象:工作簿集合,代表所有打开的工作簿;
Worksheets对象:工作表集合
【注意】
(1)并不是每次引用对象都必须严谨的从第一层开始,如果"Book1"工作簿是活动工作簿,代码可写为:Worksheets("sheet2").Range("A2")
(2)如果"sheet2"工作表是活动工作表,代码甚至可简写为:Range("A2");

3、属性:对象的属性可以理解为这个对象保函的内容或具有的特征

例如:Worksheets("sheet2").Range("A1").Font.Color

A1单元格就是sheet2工作表的属性,A1单元格字体就是A1单元格的属性,字体颜色就是字体的属性。

4、对象和属性是相对而言的,比如单元格对于字体来说是对象,但对工作表而言是属性。某些对象的某些属性,返回的是另一个对象。如sheet工作表的Range属性,返回的是单元格对象。
【注意】可在代码窗口中将光标定位在Value间,按F1键通过VBA自带的帮助信息辨别Range("A1").Value=100

5、方法:方法是在对象上执行的某个动作或操作。对象和方法之间也可以用“·”连接,如选中A1单元格,写成VBA代码为:Range("A1").Select

6、方法和属性的区别
属性返回对象保函的内容或具有的特点,如颜色、大小是名词;方法是对象的一种操作,如选中,激活等属动词。在很多场合没必要准确区分谁是属性,谁是方法,只要能正确使用即可。