1. 定義陣列語法 statement of defining array
以下範例定義的陣列中,總共有11個元素,從ArrayName(0)到ArrayName(10)。
Dim ArrayName(10) As AnyType* ArrayName為變數名稱,可自行定義。
* AnyType可以是任何資料型態或物件。
如果想要從1開始,有以下兩種方式。
A.
Dim ArrayName(1 To 10) As AnyType
B. 在整個程式前面加上 Option Base 1
在A方法中,陣列元素可從任何值開始(只要不大於最後一個元素的編號即可);但B方法中Option Base後的數字只能是1或0,若沒特別註明則為0。
------------------------------------------------------------------------------
2. 第一次放值時 when you first put the value in array
A.
For i = 0 To 10 ArrayName(i)=i Next i
B.
ArrayName(0)=0 ArrayName(1)=1 ArrayName(2)=2 ArrayName(3)=3 …
C.
Dim ArrayName as Variant ArrayName=Array(0,1,2,3)* 這種方法只能定義為Variant型態,故陣列元素起始值受Option Base影響。
------------------------------------------------------------------------------
3. 初始化陣列
依資料型態不同,而有不同的初始值。Integer→0;String→"";Object→Nothing。
Erase ArrayName
------------------------------------------------------------------------------
4. 如何知道陣列大小 how to know the array size
LBound(ArrayName)→此函數回傳指定陣列的起始元素編號。
UBound(ArrayName)→此函數回傳指定陣列的結束元素編號。
陣列大小 array size→UBound(ArrayName)-LBound(ArrayName)+1
------------------------------------------------------------------------------
5. 動態陣列
一開始使用Dim定義變數時,陣列大小與元素必須是常數,不能放變數。若想使用動態陣列,則需使用ReDim。
ReDim ArrayName(r)* 必須有Dim,才能有ReDim。
* r可以是常數,或者變數。
在程式中,有可能陣列大小是隨著執行而改變。在改變陣列大小時,有時候原本放在陣列中的資料還會繼續使用,這時就不能單純只用ReDim。
ReDim Preserve ArrayName(r)* 若沒有加上Preserve關鍵字,則前面r個元素中的資料不會被保留。
有任何問題歡迎留言或Mail。
If you have any problem, just left a message or send mail to me.
0 comments:
Post a Comment