VBA入門:說說物件、方法和屬性
我們說VBA是一種語言,什麼語言都有自己特定的語法,VBA也是一樣的。
有時候我們看到很多人在說:物件,屬性,方法balabala,那這些東西到底是個什麼?
Ø 什麼是物件
隨風說:具有自己特定性格的物體就是物件
舉例來說:芬子女神身高,有膚色,有性別,那麼芬子女神就是物件(不過不是你的)
單元格有行高,列寬,顏色,字型等等…那麼單元格就是一個物件。
Ø 什麼是子/父物件
隨風說:物件的下級物件:就是子物件,很繞口吧?
舉例來說:芬子女神的手,那麼,芬子女神是個物件,芬子女神的手,手就是芬子女神的子物件。
反之,手是誰的?芬子女神的。那麼芬子女神就是這個手的父物件。
Sheet1工作表中的A1單元格,A1單元格是個物件,A1單元格就是Sheet1工作表的子物件。
反之,這個單元格是哪個工作表的?Sheet1的。那麼,Sheet1就是A1的父物件。
表示方法:
父物件.子物件
我們要用VBA的語法來描述芬子女神的手就這麼寫
芬子女神.手
用VBA的語法來描述sheet1工作表的A1單元格就這麼寫
Sheets("sheet1").Range("a1")
Ø 什麼是物件集合
所有同類型的物件的合集:就是物件集合。
舉例來說:眾所周知,芬子女神是住別墅,所在的別墅區是由很多別墅組成的,那麼,這個別墅區就是別墅的集合。
工作簿中有很多工作表,這些工作表就組成了
工作表集合
。
表示方法:
物件集合(物件名/索引值)。
我們要用VBA方法表示這些別墅區中芬子女神的別墅,就是:
別墅區("芬子女神")
我們要用VBA語法表示很多工作表中的sheet1,就是
Sheets("sheet1")
Ø 什麼是物件的方法
方法就是物件可以被我們操作的動作,有這個方法我們才可以操作物件。
舉例來說:芬子女神是個物件,芬子女神可以被我抱起。
被我抱起的這個動作,就是芬子女神可以執行的方法。
但是芬子女神不可以被複制,我們就不能複製芬子女神。
單元格可以被複制,可以被查詢,複製和查詢就是單元格可以操作的方法。
但是單元格不能被娶回家,我們就不能把單元格娶回家,因為它沒有這個方法。
表示方法:
物件.方法
用VBA表示芬子女神被抱起:
芬子女神.抱起
用VBA表示單元格A1被複制:
Range("a1").copy
Ø 什麼是物件的屬性
屬性就是物件具有的特徵。
舉例來說:芬子女神的性別是女,那麼性別就是芬子女神的屬性,這個屬性的值就是:女
單元格的內容是“隨風”,那麼內容就是單元格的屬性,這個屬性的值就是隨風。
表示方法:
1、設定屬性:物件.屬性=屬性值
2、讀取屬性:存貯器=物件.屬性
我們要用VBA設定芬子女神的性別為女
芬子女神.性別=女
讀取芬子女神的性別
存貯器=
芬子女神.性別
(存貯器中盛放的就是女神的性別)
我們要用VBA設定A1單元格的內容為“隨風”:
Range("a1").value="隨風"
我們要讀取A1單元格的內容:
存貯器
=Range("a1").Value
² 注:不管是設定屬性,還是讀取屬性值,都需要存貯器,讀取時,需要給定屬性值的去處。可以賦值給變數,也可以直接顯示出來,設定時,等號在右邊並且給出需要設定的屬性值。
Ø 什麼是過程
由一系列可執行的語句組成的語句塊:就是過程。
舉例說明:我們讓芬子女神做仰臥起坐10次,然後讀取芬子女神的心跳屬性,這就是一個過程。
表示方法:
開始
芬子女神。仰臥起坐(10次)
’仰臥起坐是芬子女神的方法
存貯器=芬子女神。心跳次數
’心跳次數是芬子女神的屬性
結束
設定A1的value屬性值為“隨風”,並把單元格A1複製到單元格B1然後讀取B1的value屬性,並且用訊息框顯示存貯器的內容。
Sub開始()
Range(“a1”)。value=“隨風”
‘設定A1的value屬性值為隨風
Range(“a1”)。copy Range(“b1”)
’將A1複製到B1
存貯器=range(“b1”)。value
’讀取B1的VALUE屬性存到存貯器
Msgbox 存貯器
’訊息框顯示存貯器內容
End sub
‘ 結束
以上就是一個簡單的子過程:以sub開頭,endsub結束,之間有一些可以執行的語句。
我們將過程分為了幾大類:上邊是其中一類,也是最常用的一類,稱作“子過程”,還有自定義函式過程,事件過程,屬性過程。
Ø 綜上所述
大家來回憶一下,什麼是物件?什麼是方法?什麼是屬性?
建議大家把最後這個過程,寫進你的Excel。
——如何開啟VBE,你還記得嗎?
作者:隨風
圖書《Excel VBA經典程式碼應用大全》作者之一