このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

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

2023年1月13日

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

今回はVBAで二次元配列の要素数を調べる方法を紹介します。

二次元配列の要素数を調べるときにはUBound関数の2つ目の引数を指定します。

VBAが難しいと感じたら
ココナラにてマクロ(VBA)の作成代行を始めました。
ご依頼はこちらから

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

Posted by やろまい