【VBA】UBound関数で二次元配列の要素数を調べる方法
今回はVBAで二次元配列の要素数を調べる方法を紹介します。
二次元配列の要素数を調べるときにはUBound関数の2つ目の引数を指定します。
UBound関数で二次元配列の要素数を調べる方法
Sub ArrEmsNum()
'''二次元配列の要素数を調べる
Dim arr(5, 10) As String
Debug.Print UBound(arr, 1) '一次元目の要素数(5)
Debug.Print UBound(arr, 2) '二次元目の要素数(10)
End Sub
二次元配列の要素数はこのようなコードで調べることができます。
UBound(arrayname, [ dimension ])
UBound(配列, [ 次元数 ])
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/ubound-function
UBound関数は1つ目の引数に配列を、2つ目の引数に次元数を指定します。
そのため上のコードのように2つ目の引数に2を指定すると二次元目の要素数を調べることができます。
ちなみに2つ目の引数を省略すると一次元目の要素数となります。
UBound(arr, 1)とUBound(arr)は一緒になります。
UBound関数の使用例
Sub UseCaseUBound()
'''UBoundの使用例:二次元配列にi*jを代入
Dim arr(5, 10)
Dim i As Long, j As Long
For i = LBound(arr, 1) To UBound(arr, 1)
For j = LBound(arr, 2) To UBound(arr, 2)
arr(i, j) = i * j
Next
Next
End Sub
例えば二次元配列arr(i, j)にi*jの値を代入しようとするとこのようなコードになります。
UBound関数(とLBound関数)の2つ目の引数を指定することでFor文の範囲をしています。