UBound関数

UBound関数は、VBA関数の中で配列・エラー関数に分類される関数です。

目次

スポンサー リンク

UBound関数とは

UBound関数は、配列の指定された次元で使用できる添字の最大値を、長整数型 (Long) の値で返します。

構文UBound(arrayname[, dimension])
引数省略説明
arrayname ×配列変数の名前です。変数の標準的な名前付け規則に従って指定します。
dimension バリアント型 (内部処理形式 Long の Variant) の値を指定します。添字の最大値を調べる対象となる配列の次元を示す整数を指定します。最初の次元なら 1、2 番目の次元なら 2、というように指定します。引数 dimension を省略すると、1 が指定されたものと見なされます。

UBound 関数は、LBound 関数と組み合わせて、配列のサイズを調べるために使います。配列の添字の最小値を調べるには、LBound 関数を使います。
次のような配列が宣言されている場合、UBound 関数からは下の表のような値が返ります。
Dim A(1 To 100, 0 To 3, -3 To 4)

戻り値

ステートメント戻り値
UBound(A, 1) 100
UBound(A, 2)3
UBound(A, 3) 4

UBound関数のサンプルコード

次の例では、UBound 関数を使って、配列の指定された次元の添字として使える最大値を求めます。


Sub sample()

Dim Upper
Dim MyArray(1 To 10, 5 To 15, 10 To 20)
                                ' 配列変数を宣言します。
Dim AnyArray(10)
Upper = UBound(MyArray, 1)    ' 10 が返ります。
Upper = UBound(MyArray, 3)    ' 20 が返ります。
Upper = UBound(AnyArray)        ' 10 が返ります。

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

解説

配列・エラー関数一覧

関数名内容
Array配列が格納されたバリアント型の値を返します。
CVErr指定したエラー番号をバリアント型の値に変換します。
Error指定したエラー番号に対応するエラーメッセージを返します。
IsArray変数が配列かどうかを調べた結果を返します。
IsError式がエラー値かどうか調べた結果を返します。
LBound指定できる配列のインデックス番号の最小値を返します。
UBound指定できる配列のインデックス番号の最大値を返します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。