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

VBA UBound 関数

はじめに

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

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

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

  • 目次
    • 構文
    • 解説
    • 使用例

構文

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

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

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

解説

引数「配列」のインデックスが~ 1の配列なら1を返します。~ 2の配列なら2を返します。

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

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

存在しない次元を指定するとエラーが発生します。

LBound 関数」と使用して配列の全要素をループできます。

使用例


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(0 to 2, 1 To 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
  • 目次
    • 構文
    • 解説
    • 使用例