【VBA】UBound関数で二次元配列の要素数を調べる方法

2023年1月13日

【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文の範囲をしています。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
VBAの作成依頼はこちらから

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2023/02/07 15:31:32時点 Amazon調べ-詳細)

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい