VBAのLBound関数について解説しています。
LBound関数は、VBA関数の中で配列・エラー関数に分類される関数です。
LBound関数は、配列の指定された次元で使用できる最小の添字を、長整数型 (Long)の値で返します。
構文 | LBound(arrayname[, dimension]) | |
---|---|---|
引数 | 省略 | 説明 |
arrayname | × | 配列変数の名前です。変数の標準的な名前付け規則に従って指定します。 |
dimension | ● | バリアント型 (内部処理形式 Long の Variant) の値を指定します。添字の最小値を調べる対象となる配列の次元を示す整数を指定します。最初の次元なら 1、2 番目の次元なら 2、というように指定します。引数 dimension を省略すると、1 が指定されたものと見なされます。 |
LBound 関数は、UBound 関数と組み合わせて、配列のサイズを調べるために使います。配列の添字の最大値を調べるには、UBound 関数を使います。
次のような配列が宣言されている場合、LBound 関数からは下の表のような値が返ります。
Dim A(1 To 100, 0 To 3, -3 To 4)
ステートメント | 戻り値 |
---|---|
LBound(A, 1) | 1 |
LBound(A, 2) | 0 |
LBound(A, 3) | -3 |
配列の添字の最小値の既定値は、0 または 1 です。この値は、Option Base ステートメントの設定によって決まります。Array 関数で作成された配列の添字は、0 から始まり、Option Base ステートメントの影響は受けません。
Dim、Private、Public、ReDim、Static のいずれかのステートメントで To 節を使って配列の次元を設定すると、添字の最小値に任意の整数値を指定できます。
次の例では、LBound 関数を使って、配列内の指定された次元の添字として使える最小値を求めます。配列の添字の既定の最小値 0 を変更するには、Option Base ステートメントを使います。
Sub sample()
Dim Lower
' 配列変数を宣言します。
Dim MyArray(1 To 10, 5 To 15, 10 To 20)
Dim AnyArray(10)
Lower = Lbound(MyArray, 1) ' 1 を返します。
Lower = Lbound(MyArray, 3) ' 10 を返します。
Lower = Lbound(AnyArray)
' Option Base の設定に応じて、0 または 1 を返します。
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
関数名 | 内容 |
---|---|
Array | 配列が格納されたバリアント型の値を返します。 |
CVErr | 指定したエラー番号をバリアント型の値に変換します。 |
Error | 指定したエラー番号に対応するエラーメッセージを返します。 |
IsArray | 変数が配列かどうかを調べた結果を返します。 |
IsError | 式がエラー値かどうか調べた結果を返します。 |
LBound | 指定できる配列のインデックス番号の最小値を返します。 |
UBound | 指定できる配列のインデックス番号の最大値を返します。 |
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。