VBA基礎 - 數據類型

概要

學習一種新語言, 數據類型和關鍵字是第一步.編程

數據類型

經常使用的數據類型以下:編程語言

類型 存儲空間 範圍
Boolean 2 bytes True 或者 False
Byte 1 byte 0 ~ 255
Integer 2 bytes -32768 ~ 32768
Long 4 bytes -2147483648 ~ 2147483647
LongLong 8 bytes -2147483648 ~ 2147483647
String 10 bytes + string length 0 ~ 20 億個字符
Object 4 bytes 能夠賦值給任何對象引用
Single 4 bytes -3.402823E38 ~ -1.401298E-45 (對負值)
1.401298E-45 ~ 3.402823E38 (對正值)
Double 8 bytes -1.79769313486231E308 ~ -4.94065645841247E-324 (對負值)
4.94065645841247E-324 ~ 1.79769313486231E308 (對負值)
Date 8 bytes 100 年 1 月 1 日 ~ 9999 年 12 月 31 日 0:00:00 ~ 23:59:59
Variant 16 bytes 任意值, 性能較低

VBA 中提供了一系列 函數用於類型之間的轉換函數

運算符

運算符是和數據類型一樣, 是使用最多的部分.性能

類型 運算符 說明 示例
算術運算符 * 乘法 MyValue = 2 * 2 ' Returns 4.
^ 乘方 MyValue = 2 ^ 2 ' Returns 4.
/ 除法運算, 返回浮點型結果 MyValue = 10 / 4 ' Returns 2.5.
\ 除法運算, 返回整數結果 MyValue = 100 \ 3 ' Returns 33.
Mod 求餘數 MyResult = 10 Mod 3 ' Returns 1.
+ 加法 MyNumber = 2 + 2 ' Returns 4.
- 減法 MyResult = 4 - 2 ' Returns 2.
比較運算符 = 判斷是否相等 Check = (4 = 4) ' Returns True
Is 判斷 2 個對象的引用是否相同 Set ThisObject = MyObject
MyCheck = ThisObject Is ThisObject ' Returns True.
Like 比較字符串時, 能夠使用通配符, 簡化版的正則 MyCheck = "aBBBa" Like "a*a" ' Returns True.
鏈接運算符 & 鏈接字符串 MyStr = "Hello" & " World" ' Returns "Hello World".
+ 除了做爲加法, 還能夠用在字符串上 Var1 = "34": Var2 = 6; MyNumber = Var1 + Var2 ' Returns 40.
Var1 = "34": Var2 = "6"; MyNumber = Var1 + Var2 ' Returns "346".
邏輯運算符 And 邏輯與
Eqv 邏輯等於
Imp 不太經常使用 imp-operator
Not 邏輯非
Or 邏輯或
Xor 邏輯異或

變量

有了數據類型, 就能夠定義各類變量, 完成相應的計算. 變量的定義和計算, 和其餘編程語言也沒有什麼區別, 這裏主要提下變量的生命週期.學習

全局變量和局部變量

1  Dim globalX As Integer
 2
 3  Sub Test()
 4      f1
 5      globalX = globalX + 1
 6      localX = localX + 1
 7      f1
 8  End Sub
 9
10  Function f1()
11      Dim localX As Integer
12
13      Debug.Print "全局變量  " & globalX
14      Debug.Print "局部變量  " & localX
15  End Function

運行 Test, 輸出:code

全局變量  0
   局部變量  0
   全局變量  1
   局部變量  0

靜態變量和動態變量

1  Sub Test()
 2      f1
 3      f1
 4      f1
 5  End Sub
 6
 7  Function f1()
 8      Dim dX As Integer
 9      Static sX As Integer
10
11      sX = sX + 1
12      dX = dX + 1
13      Debug.Print "靜態變量  " & sX
14      Debug.Print "動態變量  " & dX
15  End Function

運行 Test, 輸出:對象

靜態變量  1
   動態變量  1
   靜態變量  2
   動態變量  1
   靜態變量  3
   動態變量  1
相關文章
相關標籤/搜索