共用方式為


使用陣列

你可以宣告一個陣 ,讓它能處理同一 資料型態的一組值。 陣列是一個包含多個區間的 單一變數 ,而典型變數只有一個儲存區,且只能儲存一個值。 當你想參考所有陣列所包含的值時,可以整體來參考,或者你可以參考它的各個元素。

例如,要儲存全年每日的每日支出,你可以宣告一個包含 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 支援與意見反應