VBA 2次元配列のサンプル

VBAの2次元配列のサンプルです。

目次 二次元配列のサンプル
For Each文で取得する
For文で取得する
ループで2次元配列を作成

二次元配列のサンプル

Sub test1()
    Dim arr(1, 2) As Integer
    
    arr(0, 0) = 1
    arr(0, 1) = 2
    arr(0, 2) = 3
    arr(1, 0) = 4
    arr(1, 1) = 5
    arr(1, 2) = 6
    Debug.Print arr(0, 0) '1
    Debug.Print arr(0, 1) '2
    Debug.Print arr(0, 2) '3
    Debug.Print arr(1, 0) '4
    Debug.Print arr(1, 1) '5
    Debug.Print arr(1, 2) '6
End Sub

2行目は、arr(1,2)としています。行が2つで値を3つにしています。
指定の数プラス1が実際の要素の数です。
4~9行目は、2次元配列に値をセットしています。

For Each文で取得する

Sub test1()
    Dim arr(1, 2) As String
    arr(0, 0) = "赤"
    arr(0, 1) = "黄"
    arr(0, 2) = "青"
    arr(1, 0) = "緑"
    arr(1, 1) = "白"
    arr(1, 2) = "黒"
    
    For Each b In arr
           Debug.Print b '赤 緑 黄 白 青 黒が出力される
    Next
End Sub

11行目は、個別の値が表示されます。出力される順番に注意が必要です。

For文で取得する

Sub test1()
    Dim arr(1, 2) As String
    arr(0, 0) = "赤"
    arr(0, 1) = "黄"
    arr(0, 2) = "青"
    arr(1, 0) = "緑"
    arr(1, 1) = "白"
    arr(1, 2) = "黒"
    
    For i = 0 To 1
        For j = 0 To 2
            Debug.Print arr(i, j) '赤 黄 青 緑 白 黒が出力される
        Next
    Next
End Sub

2重ループで変数iとjを指定して配列の値を取得します。
12行目は、個別の値で赤,黄,青,緑,白,黒が表示されます。

ループで2次元配列を作成する

for文のループで2次元配列を作成するサンプルです。

Sub test1()
    Dim arr(1, 2) As Integer
    
    num = 1
    For i = 0 To 1
        For j = 0 To 2
            arr(i, j) = num
            num = num + 1
        Next
    Next
    Debug.Print arr(0, 0) '1
    Debug.Print arr(0, 1) '2
    Debug.Print arr(0, 2) '3
    Debug.Print arr(1, 0) '4
    Debug.Print arr(1, 1) '5
    Debug.Print arr(1, 2) '6
End Sub

2行目は、2次元配列を定義しています。行が2つ値が3つです。
2重ループで値を設定します

関連の記事

VBA 配列の仕組みと使い方(Excel/Access)

△上に戻る