2次元配列は表形式(行列)で値を取り扱う場合に主に使用します。
構文 | |
---|---|
Dim varname ( subscripts ) As type | |
varname | 配列の名前 |
subscripts | 配列の要素数(多次元の場合はカンマで区切る) |
type | データタイプ |
文字列型の2次元配列では以下のように宣言します。rows="行"、clos="列"のイメージです。
Dim strArray( rows , cols ) As String
以下では【Sheet1】のセルA1:F3に格納された値を取得して2次元配列に格納しています。
セルの値 |
---|
Sub SetArray()
Dim strArray(2, 5) As String
For i = 0 To 2 '0~2の計3回ループする
For j = 0 To 5 '0~5の計6回ループする
strArray(i, j) = Worksheets("Sheet1").Cells(i, j).Text
Next
Next
For i = 0 To 2
For j = 0 To 5
Debug.Print strArray(i, j)
Next
Next
End Sub
UBound()関数を使用すると2次元配列の要素数を取得出来るのでFor文で要素の上限値を指定しなくてもよくなります。
Sub SetArray()
Dim strArray(2, 5) As String
For i = 0 To UBound(strArray, 1) '0~2の計3回ループする
For j = 0 To UBound(strArray, 2) '0~5の計6回ループする
strArray(i, j) = Worksheets("Sheet1").Cells(i, j).Text
Next
Next
For i = 0 To UBound(strArray, 1)
For j = 0 To UBound(strArray, 2)
Debug.Print strArray(i, j)
Next
Next
End Sub