教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでLBound関数の使い方

構文

構文は以下の通りです。

LBound(配列名, [次元])

解説

LBound関数は、指定した配列の最小インデックスを返す関数です。配列名は、対象となる配列の名前です。次元は省略可能で、多次元配列の特定の次元の最小インデックスを取得したい場合に指定します。次元を指定しない場合は、最初の次元(1次元目)の最小インデックスが返されます。

プログラミング例

具体的なプログラミング例を紹介します。

例1: 一次元配列の最小インデックスを取得

Sub LBound例1()
    Dim 数字リスト(1 To 10) As Integer
    Dim 最小インデックス As Integer
    最小インデックス = LBound(数字リスト)
    MsgBox "数字リストの最小インデックスは " & 最小インデックス & " です。"
End Sub

上記のプログラムは、「数字リスト」という1から10までのインデックスを持つ一次元配列を定義しています。LBound関数を使って、最小のインデックスである「1」を取得し、メッセージボックスで表示します。

例2: 二次元配列の特定次元の最小インデックスを取得

Sub LBound例2()
    Dim 成績表(1 To 5, 1 To 3) As Integer
    Dim 最小インデックス1 As Integer
    Dim 最小インデックス2 As Integer
    最小インデックス1 = LBound(成績表, 1)
    最小インデックス2 = LBound(成績表, 2)
    MsgBox "成績表の1次元目の最小インデックスは " & 最小インデックス1 & " です。"
    MsgBox "成績表の2次元目の最小インデックスは " & 最小インデックス2 & " です。"
End Sub

上記のプログラムは、1から5までのインデックスを持つ1次元目と、1から3までのインデックスを持つ2次元目を持つ二次元配列「成績表」を定義しています。それぞれの次元の最小インデックスをLBound関数で取得し、メッセージボックスで表示しています。

まとめ

LBound関数は、配列の最小インデックスを取得するために使用します。1次元配列では、単に配列名を指定するだけで最小インデックスが得られます。多次元配列では、次元を指定することで特定の次元の最小インデックスを取得できます。