LBound関数は”配列のインデックス最小値を調べる”時に使います。
上は配列のイメージになります。
ちなみに上の配列の場合、UBound関数を用いると”0”が取得できます。
では、この配列の最小値を調べる時に使う「LBound関数」について解説していきます。
LBound関数の記述方法
LBound関数の記述の仕方は下のとおりです。
LBound(配列名, 次元)
※[次元]は省略可(その場合、1次元のインデックス最小値が戻り値)。
※[次元]は省略可(その場合、1次元のインデックス最小値が戻り値)。
では、下のコードで「LBound関数がどういうモノか」確認してみましょう。
1 2 3 4 |
Sub Sample1() Dim a(10) As Variant '要素数が11つ(0~10)の配列を宣言 Debug.Print LBound(a, 1) '”0”と出力される End Sub |
上のコードでは3行目でLBound関数で「a」という配列の1次元のインデックスの最小値を取得しています。
ちなみに上のコードの場合はインデックス最大値は”0”になります。
LBoundの参考コード
下は「A列の1行目から5行目までのセルに行と同じ番号を入れていく」処理を行うコードです。
1 2 3 4 5 6 |
Sub Sample2() Dim a(1 To 5) As String, i As Integer For i = LBound(a) To UBound(a) Cells(i, 1) = i Next End Sub |
2行目でインデックスが1から5の配列を宣言しています。
なので、配列aに対してLBound関数を使った場合、”1”が戻り値になります。
そして、3行目で配列aのインデックスの最小値から最大値分を繰り返すようにForループで指定しています。
このループ条件で配列の全ての要素を操作することができるようになります。
ポイント基本的には配列のインデックス最小値は「0」「1」に設定します。
「0」は配列の始値を設定しなければ0から始まります。
そして、「1」はセル操作の際に「A0セル、B0セル」はなく、「A1、B1」から始まるので、セル操作の際には1が使われることが多い感じがします。
〇おすすめのVBA参考書ランキング!
1位 | 2位 | 3位 |
---|---|---|
Excel VBA 脱初心者のための集中講座 | パーフェクトExcel VBA | ExcelVBA 実戦のための技術 |
初心者~中級者 | 中級者 | 初心者~中級者 |
【初心者が手に取るべき参考書】 ・「書籍+動画」で圧倒的に理解しやすい入門書になっている。 ・丁寧で詳しい解説でボリューム感がある。 | 【より深い理解をしたい方にお勧めな参考書】 ・テーマに対して丁寧な解説・適度な深さで解説されている。 ・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。 | 【入門書と一緒に買うべき参考書】 ・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。 ・実践的で効果的なコードの書き方が理解できる。 |
【読んでみた一言】 正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。 | 【読んでみた一言】 深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。 | 【読んでみた一言】 基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。 |
スポンサーリンク