Excel VBA(6)–宣告變數那些事

我們在製作工資條的時候,已經宣告過變量了,具體可參閱

Excel VBA(5) – 一鍵製作工資條

那篇主要從應用角度寫,為了讓大家對 VBA 程式設計有個總體的概念,所以變數宣告部分一筆帶過,沒有詳細展開。

今天就來說說變數宣告那些事。

1. 什麼是變數?

與任何程式語言一樣,變數和常量是儲存資料的不同“容器”

顧名思義,變數的資料是可以更換的

而常量的資料是固定不變的

2. 宣告變數

既然變數是可以自定義的,我們在使用之前就要對它進行宣告。打個比方,擺婚宴就是為了向親朋好友宣告:我結婚了

VBA 的變數宣告格式為:

Dim 變數名 As 資料型別

變數名必須以字母或漢字開頭,不能包含特殊字元和空格

變數名最長不得超過 255 字元(超過 255 字元的,難道貴司以程式碼長短考核 KPI 嗎?)

3. VBA 的資料型別

Excel VBA(6)–宣告變數那些事

4. 宣告多個變數

可以寫在同一個 Dim 後面,變數名之間用逗號隔開,例如

Dim i As Integer, j As Long

也可以用不同的 Dim 語句宣告,例如

Dim i As Integer

Dim j As Long

5. 如果不宣告變數

不宣告變數型別的話,預設為 Variant 型別

Variant 為變體型,可以根據需要的資料型別改變自身型別與之匹配

6. 為什麼要宣告變數

既然有 72 般變化的 Variant 型別,為什麼還要宣告變數?

因為 Variant 佔用的儲存空間較大,無論程式執行速度還是儲存空間,都不最佳化。所以如非必要,請不要免去宣告變數步驟

7. 強制宣告變數

既然宣告變數那麼重要,我們能否強制?

可以在模組的第一句輸入如下程式碼:

Option Explicit

請從現在開始,養成強制宣告變數的習慣,當你將來程式碼越寫越多,定會感激我

也可以在 VBE 的視窗中點選“工具”——>“選項”——>勾選“要求變數宣告”,對所有模組自動強制變數宣告

在強制宣告變數的模組中,如果忘記宣告變數,執行程式時,會提示編譯錯誤:變數未定義

Excel VBA(6)–宣告變數那些事

Excel VBA(6)–宣告變數那些事

8. 變數的作用域:

9. 給變數賦值

把資料儲存到變數裡,稱為給變數賦值

語句為:

[Let] 變數名稱 = 資料

Let 可以省略

10. 給常量的宣告及賦值

常量不僅需要宣告,還要在宣告的同時就賦值

賦值以後的常量不能再重新賦值

語句為:

Const 變數名稱 As 資料 = 數值

11. 常量的作用域:

Excel學習世界

轉發、在看也是愛!