我們?cè)谥谱鞴べY條的時(shí)候,已經(jīng)聲明過(guò)變量了,具體可參閱
Excel VBA(5) – 一鍵制作工資條
那篇主要從應(yīng)用角度寫(xiě),為了讓大家對(duì) VBA 編程有個(gè)總體的概念,所以變量聲明部分一筆帶過(guò),沒(méi)有詳細(xì)展開(kāi)。
今天就來(lái)說(shuō)說(shuō)變量聲明那些事。
1. 什么是變量?
與任何編程語(yǔ)言一樣,變量和常量是存儲(chǔ)數(shù)據(jù)的不同“容器”
顧名思義,變量的數(shù)據(jù)是可以更換的
而常量的數(shù)據(jù)是固定不變的
2. 聲明變量
既然變量是可以自定義的,我們?cè)谑褂弥熬鸵獙?duì)它進(jìn)行聲明。打個(gè)比方,擺婚宴就是為了向親朋好友聲明:我結(jié)婚了
VBA 的變量聲明格式為:
Dim 變量名 As 數(shù)據(jù)類(lèi)型
變量名必須以字母或漢字開(kāi)頭,不能包含特殊字符和空格
變量名最長(zhǎng)不得超過(guò) 255 字符(超過(guò) 255 字符的,難道貴司以代碼長(zhǎng)短考核 KPI 嗎?)
3. VBA 的數(shù)據(jù)類(lèi)型
4. 聲明多個(gè)變量
可以寫(xiě)在同一個(gè) Dim 后面,變量名之間用逗號(hào)隔開(kāi),例如
Dim i As Integer, j As Long
也可以用不同的 Dim 語(yǔ)句聲明,例如
Dim i As Integer
Dim j As Long
5. 如果不聲明變量
不聲明變量類(lèi)型的話(huà),默認(rèn)為 Variant 類(lèi)型
Variant 為變體型,可以根據(jù)需要的數(shù)據(jù)類(lèi)型改變自身類(lèi)型與之匹配
6. 為什么要聲明變量
既然有 72 般變化的 Variant 類(lèi)型,為什么還要聲明變量?
因?yàn)?nbsp;Variant 占用的存儲(chǔ)空間較大,無(wú)論程序運(yùn)行速度還是存儲(chǔ)空間,都不優(yōu)化。所以如非必要,請(qǐng)不要免去聲明變量步驟
7. 強(qiáng)制聲明變量
既然聲明變量那么重要,我們能否強(qiáng)制?
可以在模塊的第一句輸入如下代碼:
Option Explicit
請(qǐng)從現(xiàn)在開(kāi)始,養(yǎng)成強(qiáng)制聲明變量的習(xí)慣,當(dāng)你將來(lái)代碼越寫(xiě)越多,定會(huì)感激我
也可以在 VBE 的窗口中點(diǎn)擊“工具”-->“選項(xiàng)”-->勾選“要求變量聲明”,對(duì)所有模塊自動(dòng)強(qiáng)制變量聲明
在強(qiáng)制聲明變量的模塊中,如果忘記聲明變量,運(yùn)行程序時(shí),會(huì)提示編譯錯(cuò)誤:變量未定義
8. 變量的作用域:
9. 給變量賦值
把數(shù)據(jù)存儲(chǔ)到變量里,稱(chēng)為給變量賦值
語(yǔ)句為:
[Let] 變量名稱(chēng) = 數(shù)據(jù)
Let 可以省略
10. 給常量的聲明及賦值
常量不僅需要聲明,還要在聲明的同時(shí)就賦值
賦值以后的常量不能再重新賦值
語(yǔ)句為:
Const 變量名稱(chēng) As 數(shù)據(jù) = 數(shù)值
11. 常量的作用域:
聯(lián)系客服