VBA的对象、属性、方法

作者:Excelhome 山菊花

1、认识“方法”

2在VBE代码窗口中,按 Ctrl+J 或在对象名后面输入小圆点时,会弹出“属性/方法列表”,列表中带绿色图标的项就是“方法”。

2对于对象而言,方法是命令,是一种动作,是一种操作。你想把单元格删除了,VBA提供了一个命令给你:Delete,这Delete就是方法。在工作表中使用了组合框控件,可以用 AddItem 为组合框添加选择项,这 AddItem  就是方法。

2在代码书写上,与属性相比,也有它的特征。

方法后面不再连着小圆点。

用于结束(前面不带等号的)代码行的,它是方法,如下面的 Delete :

Range("a1").Delete

下面代码以空格连接“Sort”与“Key1:=Range("A1")”,空格前面的 Sort 也是方法。

Selection.Sort Key1:=Range("A1")

把参数写在括号里,括号前面的也是方法,如下面的 Find:

Set c = Worksheets(1).Range ("a1:a500").Find(2, LookIn:=xlValues)

2、对象与属性

2对象与属性,我们可以把它看作是一回事,就像“属性/方法列表”里面的图标,它不区分谁是对象,谁是属性。

你是上司,那一定有下属,你的下属,在他单位里也是个头,那他又有他的下属。

世间事物,只要成了主,就有依附其存在的附属,“老刘汽车上的喇叭”,老刘是主,汽车是附属物,而汽车又是喇叭的主,喇叭是汽车的附属,用VBA的说法,老刘是对象,汽车是属性,但对于喇叭而言,汽车是对象,喇叭是属性。

在代码“Me.Range("a1").Font.ColorIndex”中,Font 表示字体,它是单元格的属性,又是一个对象,它有颜色号、名称、大小等属性。认识对象与属性,难得糊涂,糊涂了才好。

2代码里的小圆点,就是中文句子中的“的”:

老刘.汽车.喇叭.价钱=250

这意思懂吧?

下面的代码:

Me.Range("a1").Font.ColorIndex = 3

用“的”字读,就是:

本工作表 的 A1单元格 的 字体 的 颜色号 改为 3

2还有一个疑问,Range既是对象集合,又是属性,怎么回事?

其实不是,如Range("a1")="ExcelHome",这里的Range()不是属性,它是对象,只是代码中把属性省略了:

Range("a1").Value="ExcelHome"

这个省略的代码风格也来自生活:

“电脑5000、桌子800”,把“价钱”省了,意思大家都明白。

“张三100、李四85”,宣布成绩的时候,不用说“张三的成绩是100分、李四的成绩是85分”,大家还是明白。

3、说正经的

2上面的说法其实是不严谨的,无论怀疑还是相信,都不能到此为止,你还得把问题弄明白。在Excel2003的VBE窗口中,把光标定位到单词中间,按 F1 键,可打开关于该“方法/属性”的帮助,帮助中写“方法”就是方法,写“属性”就是属性。如:

原文地址:https://www.cnblogs.com/Garfield/p/1332006.html