サイトについて      連絡先   検索

VBA UBound 関数

はじめに

Excel VBA マクロの UBound 関数を紹介します。

UBound 関数は、配列の最大インデックスを返します。

配列を最後までループしたいときに使用します。

構文

UBound(配列)
配列の最大のインデックスを取得します。

UBound(配列, 次元)
指定した次元の最大のインデックスを取得します。

引数「配列」配列を指定します。
引数「次元」省略できます。引数「配列」の次元を指定します。
戻り値の型数値型 (Long)

解説

インデックスが 2 ~ 3 までの配列では、3 を返します。

次元を省略すると一次元配列の最大インデックスを返します。これは 1 を指定したのと同じです。

次元に 2 を指定すると二次元配列の 2 次元目の最大インデックスを返します。

UBound 関数を使用して配列を最後までループできます。

使用例


Dim i As Integer

Dim la(2) As Integer ' 0 to 2
i = UBound(la)
Debug.Print(i) ' 2

Dim lb(2 To 3) As Integer
i = UBound(lb)
Debug.Print(i) ' 3

Dim lc(2, 3) As Integer
i = UBound(lc, 1) ' 1 次元は 0 to 2
Debug.Print(i) ' 2
i = UBound(lc, 2) ' 2 次元は 1 to 3
Debug.Print(i) ' 3

LBound 関数」と UBound 関数を使えば配列の全ての要素を操作できます。


Dim i As Integer
Dim ld(3) As Integer
For i = LBound(ld) To UBound(ld)
    ld(i) = i
Next