LBound関数

 VBAで使える関数です。
 配列の添字(インデックス)の最小値を返します。

使用例

例1

コード

Sub Func_LBound()

    Dim season(3) As Variant

    MsgBox LBound(season)

End Sub

出力
f:id:accs2014:20190127230606p:plain:left:w200

 配列宣言すれば値を代入しなくともLBoundの値は決まります。
 ただし「Dim season() As ~」というような動的配列宣言の場合はエラーになります。

例2

コード

Sub Func_LBound()

    Dim season As Variant

    season = Array("春", "夏", "秋", "冬")

    MsgBox LBound(season)

End Sub

出力
f:id:accs2014:20190127230603p:plain:left:w200

 もちろん値を代入してもLBoundの値は変わりません。

例3

コード

Option Base 1

Sub Func_LBound()

    Dim season As Variant

    season = Array("春", "夏", "秋", "冬")

    MsgBox LBound(season) & "," & season(2)

End Sub

出力
f:id:accs2014:20190127230601p:plain:left:w200

 Option Baseにより添え字が1から始まることとされていますので、LBoundの値は1です。season(1)が「春」、season(2)が「夏」、season(3)が「秋」、season(4)が「冬」となります。

例4

コード

Sub Func_LBound()

    Dim season(3, 1) As Variant

    season(0, 0) = "春": season(0, 1) = "桜"
    season(1, 0) = "夏": season(1, 1) = "向日葵"
    season(2, 0) = "秋": season(2, 1) = "彼岸花"
    season(3, 0) = "冬": season(3, 1) = "寒椿"

    MsgBox LBound(season, 2)

End Sub

出力
f:id:accs2014:20190127230557p:plain:left:w200

 配列のどの次元を指すのかを第2引数で指定できます。
 次数は1から始まりますので、2次元配列の場合指定できる値は1か2です。

書式

LBound(配列[,次数])

 どの次元を指すのかを第2引数で指定できます。
 次数は1から始まります。省略した場合は1とみなされます。

備考

 -