萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 辦公室軟體 >  >> Excel 教學 >> Excel 綜合

VBA 變數與常量完整指南:宣告、資料型別、作用域、存活期

VBA 核心基礎:變數與常量的正確宣告與管理

變數是程式執行時暫存資料的容器,常量則是固定不變的值。良好的宣告習慣能提升程式效能、減少錯誤、增強可讀性。

一、變數宣告

Dim 變數名稱 As 資料型別
  • 命名規則: 以字母開頭、不含空格/特殊符號、不超過 255 字元、避免保留字。
  • 建議: 採用匈牙利命名法前綴(如 strName 字串、lngCount 長整數、dtDate 日期),一眼辨識型別。
  • 未指定型別: 預設為 Variant(萬用型別),記憶體佔用大、速度較慢,不建議。

強制宣告變數

模組最頂端加入 Option Explicit,或「工具」→「選項」→「編輯器」勾選「強制變數宣告」。未宣告變數將導致編譯錯誤,拼字錯誤即時發現。

變數作用域與存活期

宣告位置/關鍵字作用域存活期適用場景
程序內 Dim / Static程序級Dim:程序結束釋放
Static:專案執行期間保留值
區域暫存、Static 計數器
模組頂端 Dim / Private模組級專案執行期間模組間共用設定、快取
模組頂端 Public全域(所有模組)專案執行期間跨模組共用資料、全域設定

指派值

變數名 = 值或運算式

字串須雙引號:strMsg = "Hello World"。物件變數需 Set:Set ws = Worksheets("Sheet1")。

二、常量宣告

Const 常數名稱 As 資料型別 = 常值
  • 宣告後不可變更,編譯時直接替換為常值,效能最佳。
  • 慣例全大寫:Const MAX_ROWS As Long = 10000。
  • 常用內建常數:vbCrLf(換行)、vbTab(定位鍵)、xlUp、xlDown 等 Excel 列舉常數。

實務建議

  1. 永遠加 Option Explicit。
  2. 盡可能指定具體型別(Long 優於 Integer,Double 優於 Single)。
  3. 區域變數優於模組變數優於全域變數(最小作用域原則)。
  4. 常數取代魔術數字(Magic Numbers),提升可維護性。
copyright © 萬盛學電腦網 all rights reserved