LBound関数:配列の最小インデックスを取得する
LBound 関数は Excel VBA で用意されている関数の一つで、引数に指定した配列の最小インデックスを取得します。配列に複数の次元がある場合は次元を指定して取得できます。ここでは Excel VBA における LBound 関数の使い方について解説します。
※ 配列の最大インデックスを取得するには UBound 関数を使用します。詳しくは「UBound関数:配列の最大インデックスを取得する」を参照されてください。
(Last modified: )
LBound関数の定義と使い方
LBound
関数は引数に指定した配列の最小インデックスを返します。
1 番目の引数に配列を指定します。戻り値として配列の最小インデックスを返します。
次の例を見てください。
Dim str(2) As String Dim num(3 To 6) As Integer Debug.Print LBound(str) '0 Debug.Print LBound(num) '3
要素数だけを指定して配列を作成した場合、最小インデックスは 0 となります。インデックス範囲を指定した配列を作成した場合、最小インデックスは指定したインデックスの最小値の値になります。
多次元配列の場合
配列が多次元配列の場合、どの次元の最小インデックスを取得するのかは LBound
関数の省略可能な 2 番目の引数で指定します。最初の次元を指定する場合は 1 、次の次元は 2 と続いていきます。
次の例を見てください。
Dim v(5, 1 To 3) As Integer Debug.Print LBound(v, 1) '0 Debug.Print LBound(v, 2) '1
2 次元の配列を 1 番目の引数に指定しました。 2 番目の引数で次元を指定しそれぞれ最小インデックスを取得します。多次元配列の場合も要素数だけを指定した場合の最小インデックスは 0 で、インデックス範囲を指定した場合は最小インデックスはインデックスの最小値となります。
それでは簡単なサンプルを作成して試してみます。
Option Explicit Sub LBound関数() Dim str(2) As String Dim num(3 To 6) As Integer Dim v(5, 1 To 3) As Integer Debug.Print LBound(str) Debug.Print LBound(num) Debug.Print LBound(v, 1) Debug.Print LBound(v, 2) End Sub
このプログラムを実行すると LBound
関数を使って変数に指定した配列の最小インデックスを取得します。
-- --
Excel VBA における LBound 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。