這裡介紹如何使用 Excel VBA 來控制活頁簿、工作表與儲存格的資料,用程式自動產生表格。
在開始之前,請先設定好 Excel VBA 的開發環境,啟用開發人員工具,並且開啟 Excel VBA 的程式編輯視窗。
首先我們介紹如何在 VBA 中控制 Excel 的儲存格。
Range
物件在 VBA 中我們可以透過 Range
物件來選取並操作儲存格,這個物件是 Excel VBA 最重要的物件之一,使用頻率相當高,以下是各種使用方式。
若要將目前工作表的 A1
儲存格的內容設為 Hello
,可以這樣寫:
Range("A1").Value = "Hello"
Range
物件的第一個參數放置儲存格的位置,這樣就可以將這個位置的儲存格抓出來,而 Value
屬性就是這個儲存格的內容,直接將 Value
指定成新的資料就可以更新 Excel 儲存格內容。
我們可以自己新增一個副程式(Sub
),把這一行指令放在裡面來執行:
執行之後,A1
儲存格的內容就會變成 Hello
。
通常在開發 Excel VBA 程式的時候,都會同時開啟 Excel 與 VBA 的視窗,一邊開發程式一邊進行測試,而這樣的開發環境在每一台有安裝 Office 的電腦都有,不需要另外安裝,既方便又好用。
如果要一次更改多個連續的儲存格內容,可以在 Range
的參數中指定儲存格的範圍,例如:
Range("A1:A4").Value = 5
這樣就會把 A1
到 A4
儲存格的內容都更改為 5
:
如果範圍不是連續的,也可以一次使用多個範圍來指定:
Range("A1:A2,B3:C4").Value = 10
這樣就可以更改任意範圍的儲存格內容:
Range
也可以用來處理自訂名稱的儲存格,只要在 Range
的參數中指定儲存格的名稱即可,例如:
Range("MyCell").Value = 123
這樣 MyCell
這個儲存格的內容就會被指定為 123
: