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經典程式碼應用大全》作者之一