VBAの2次元配列のサンプルです。
目次
サンプル | 2次元配列のイメージ |
二次元配列のサンプル | |
For Each文で取得する | |
For文で取得する | |
ループで2次元配列を作成 |
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重ループで値を設定します
関連の記事