OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:312
区分:プログラム  |  分類:VB  |  最終更新日:2014/06/20
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【VB】UBound関数
関連タグ:VBA, VB6, VB.NET, 関数, 配列, 最大, 添字, 取得
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 84,051
VB6関連技術まとめ > VB関数一覧 > 【VB】UBound関数

指定した配列の最大の添字を取得する関数です。

関数仕様

構文 UBound(arrayname[, dimension])
引数
引数 省略 説明
arrayname 不可 配列変数の名前を指定します。
dimension

配列の次元を示す整数を指定します。

省略した場合の初期値は 1 になります。

戻り値 長整数型(Long)

 

この関数は、引数で指定した配列の最大の添字を取得し、その値を長整数型(Long)で返します。 配列の最大値を取得できる為、配列のサイズを調べる場合や、ループ処理で配列を参照する場合などで使用します。

 

【サンプルコード】

Dim var(5 To 10) As Variant
Debug.Print UBound(var)

※ 上記サンプルでは配列の添字が 5 ~ 10 の為、最大添字は 10 が表示されます。

 

また、この関数は省略可能なオプションとして、次元を指定することできる為、多元配列の任意の次元の最大添字を取得することもできます。

Dim var(1 To 10, 11 To 20) As Variant
Debug.Print UBound(var, 1)
Debug.Print UBound(var, 2)

※ 上記サンプルは配列の第一次元の最大添字に 10 を、第二次元の最大添字に 20 を返します。

 

なお、指定の変数が配列ではない場合、この関数は実行時エラーが発生します。

動作検証

条件 動作結果

引数に有効な配列を指定した場合

Dim var(5) As Variant
Debug.Print UBound(var)

5

引数に有効な配列を指定した場合

(To 節を使って配列の最大値を指定)

Dim var(2 To 6) As Variant
Debug.Print UBound(var)

6

引数に有効な多元配列を指定した場合

Dim var(10 To 20, 30 To 40) As Variant
Debug.Print UBound(var, 2)

40

引数に配列ではない変数を指定した場合

Dim var As Variant
Debug.Print UBound(var)

実行時エラー※1

引数に指定した配列にない次元を指定した場合

Dim var(5) As Variant
Debug.Print UBound(var, 2)

実行時エラー

※1 配列ではない変数を指定した場合、この関数は実行時エラーが発生します。

類似関数

この関数に類似する機能をもつ関数は、以下のものがあります。

関数 説明

LBound

指定した配列の最小の添字を取得する。

サンプルコード

Sub Sample()
    Dim i As Integer
    Dim var(5 To 7) As Variant

    var(5) = "abc"
    var(6) = "def"
    var(7) = "ghi"

    For i = LBound(var) To UBound(var)
        Debug.Print var(i)
    Next i
End Sub

※ 上記サンプルは配列添字の最小値と最大値を利用して、配列全ての値を表示させます。

関連記事
関連記事はありません。
外部リンク
- 記事検索 -