你可以宣告一個陣 列 ,讓它能處理同一 資料型態的一組值。 陣列是一個包含多個區間的 單一變數 ,而典型變數只有一個儲存區,且只能儲存一個值。 當你想參考所有陣列所包含的值時,可以整體來參考,或者你可以參考它的各個元素。
例如,要儲存全年每日的每日支出,你可以宣告一個包含 365 個元素的陣列變數,而不是宣告 365 個變數。 陣列中的每個元素包含一個值。 以下陳述句宣告包含 365 個元素的陣列變數。 預設情況下,陣列的索引從零開始,因此陣列的上界是 364,而非 365。
Dim curExpense(364) As Currency
要設定單一元素的值,你必須指定該元素的索引。 以下範例為陣列中的每個元素分配初始值 20。
Sub FillArray()
Dim curExpense(364) As Currency
Dim intI As Integer
For intI = 0 to 364
curExpense(intI) = 20
Next
End Sub
改變下界
使用模組頂端的 Option Base 語句,將第一個元素的預設索引從 0 改為 1。 在以下範例中, Option Base 陳述式改變了第一個元素的索引, Dim 陳述式宣告了包含 365 個元素的陣列變數。
Option Base 1
Dim curExpense(365) As Currency
你也可以透過 To 子句明確設定陣列的下界,如下範例所示。
Dim curExpense(1 To 365) As Currency
Dim strWeekday(7 To 13) As String
在陣列中儲存變體值
有兩種方法可以建立 變體 值陣列。 一種方法是宣告一個 Variant 資料型態的陣列,如下範例所示:
Dim varData(3) As Variant
varData(0) = "Claudia Bendel"
varData(1) = "4242 Maple Blvd"
varData(2) = 38
varData(3) = Format("06-09-1952", "General Date")
另一種方法是將 Array 函式回傳的陣列指派給 Variant 變數,如下範例所示。
Dim varData As Variant
varData = Array("Ron Bendel", "4242 Maple Blvd", 38, _
Format("06-09-1952", "General Date"))
你用索引來識別變 體 值陣列中的元素,無論你用哪種技術來建立陣列。 例如,以下陳述可以附加到上述任一範例中。
MsgBox "Data for " & varData(0) & " has been recorded."
使用多維陣列
在 Visual Basic 中,你可以宣告最多 60 維的陣列。 例如,以下陳述宣告一個二維、5×10 的陣列。
Dim sngMulti(1 To 5, 1 To 10) As Single
如果你把陣列想像成一個矩陣,第一個參數代表列,第二個參數代表欄位。
使用巢狀為 ...接下來 是處理多維陣列的陳述。 以下程序將二維陣列填入 Single 值。
Sub FillArrayMulti()
Dim intI As Integer, intJ As Integer
Dim sngMulti(1 To 5, 1 To 10) As Single
' Fill array with values.
For intI = 1 To 5
For intJ = 1 To 10
sngMulti(intI, intJ) = intI * intJ
Debug.Print sngMulti(intI, intJ)
Next intJ
Next intI
End Sub
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。