VBA 宣告變數型態
「宣告變數型態」好比將「箱子」進行歸類,如歸類成「整數」、「小數」、「日期」、「字串」…等。
當進行了分門別類,不僅可使巨集執行速度加快,且可以避免一些錯誤,比如歸類成「整數」,但卻輸入了「字串」則會出現執行階段錯誤-「型態不符合」。
宣告方式
Dim 「變數名稱」 As 「變數型態」
以下為例:
Dim A As Integer
‘宣告「A」為「整數」型態
變數型態
位元(Byte)
表示較小的正整數「0~255」,若只會用到此區間的正整數,可以使用「位元(Byte)」型態以縮小記憶體。
若歸類成「位元(Byte)」,但輸入範圍超過此區間如「-1」,則會出現執行階段錯誤-「溢位」
記法:
1Byte (28) = 256,扣除1(0)即255。
布林(Boolean)
表示「真(True)」或「假(False)」。
整數(Integer)
表示負數到正數「-32768~32767」區間的整數。
若歸類成「整數(Integer)」,但輸入範圍超過此區間如「32768」,則會出現執行階段錯誤-「溢位」。
記法:
2Byte (216) = 65536,負數部份除以2即「-32768」;正數部份除以2扣除1(0)即「32767」
長整數(Longer)
表示「整數(Integer)」無法存放的整數,「-2,147,483,648~2,147,483,647」。
記法:
4Byte (232) = 4,294,967,296,負數部份除以2即「-2,147,483,648」;正數部份除以2扣除1(0)即「2,147,483,647」
貨幣(Currency)
表示「十五位整數」&「四位數小數點」,「-922,337,203,685,477.5808~922,337,203,685,477.5807」
單精度浮點(Single)
表示「含小數點的數值」,0或是絕對值為「1.401298*10-45~3.402823*1038」的數值。
雙精度浮點(Double)
同Longer(長整數)>Integer(整數),Double(雙精度浮點)>Single(單精度浮點),表示0或是絕對值為「4.94065645841247*10-324~1.79769313486232*10308」的數值。
日期(Date)
表示日期和時間,若有一欄為紀錄日期或是時間,則可宣告成「日期」型態。
字串(String)
將字元串起來的意思,最多可到2GB的字元資料。
物件(Object)
像是儲存格、活頁簿、圖表都可以歸類「物件」,定義成對「物件的參照」更為貼切。
變數(Variant)
各種類型的數值,系統預設為「變數」,當未指定箱子類型時,則會分配到最大的箱子,佔了最大的記憶體。
雖不宣告變數也可以正常執行巨集,但宣告變數可避免資料類型錯誤,且可以省下記憶體,使執行速度更快速。