教えて!ExcelVBA!

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

【ExcelVBA 関数】LBound関数で配列の下限値を調べる方法を教えて!

f:id:m_kbou:20211224102807p:plain

 

 

構文

記述方法は以下の通りとなります。

(1)配列が一次元の場合

LBound([一次元配列])

[説明]:

指定した一次元配列の行下限値(インデックス番号)を返します。

[一次元配列] 任意の一次元配列を記述します。

[記述例]:

LBound(配列)

(2)配列が二次元の場合

LBound([二次元配列],[次元数])

[説明]:

指定した二次元配列の行又は列の下限値(インデックス番号)を返します。

[二次元配列] 任意の二次元配列を記述します。
[次元数] 「1」又は「2」を記述します。
※「1」の場合は行、「2」の場合は列の下限値を返します。

[記述例]:

LBound(二次元配列,1)
LBound(二次元配列,2)

 

使い方

使い方について具体的に説明します。

一次元配列での行下限値を調べる方法

一次元配列での行下限値を調べる方法について説明します。

[プログラミング例①]:

Option Baseを使用して配列の下限値(インデックス番号)を「0」にした場合

Option Base 0

Sub サンプル()

  Dim 配列(3) As String

  MsgBox LBound(配列)

End Sub

「Option Base 0を指定します。サンプルプロシージャの中に一次元配列:配列(3)を定義し、LBound関数を使用して行下限値MsgBoxで表示して下さい。」との意味になります。(※Option Base 0は、配列の下限値(インデックス番号)を0スタートとします。)

f:id:m_kbou:20211224102839p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例①]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20211224102850p:plain

②結果は以下の様に表示されます。下限値を0とする指定をしたため、MsgBoxで「0」が表示されます。

f:id:m_kbou:20211224102901p:plain

[サンプル①]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

[プログラミング例②]:

Option Baseを使用して配列の下限値(インデックス番号)を「1」にした場合

Option Base 1

Sub サンプル()

  Dim 配列(3) As String

  MsgBox LBound(配列)

End Sub

「Option Base 1を指定します。サンプルプロシージャの中に一次元配列:配列(3)を定義し、LBound関数を使用して行下限値MsgBoxで表示して下さい。」との意味になります。(※Option Base 1は、配列の下限値(インデックス番号)を1スタートとします。)

f:id:m_kbou:20211224103438p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例②]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20211224103450p:plain

②結果は以下の様に表示されます。下限値を1とする指定をしたため、MsgBoxで「1」が表示されます。

f:id:m_kbou:20211224103500p:plain

[サンプル②]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

一次元配列での行下限値を調べる方法についての説明は以上です。

 

二次元配列での行下限値を調べる方法

二次元配列での行下限値を調べる方法について説明します。

[プログラミング例①]:

Option Baseを使用して配列の下限値(インデックス番号)を「0」にした場合

Option Base 0

Sub サンプル()

  Dim 二次元配列(3, 5) As Variant

  MsgBox LBound(二次元配列, 1)

End Sub

「Option Base 0を指定します。サンプルプロシージャの中に二次元配列:二次元配列(3, 5)を定義し、LBound関数を使用して行下限値MsgBoxで表示して下さい。」との意味になります。(※Option Base 0は、配列の下限値(インデックス番号)を0スタートとします。)

f:id:m_kbou:20211224133502p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例①]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20211224133517p:plain

②結果は以下の様に表示されます。下限値を0とする指定をしたため、MsgBoxで「0」が表示されます。

f:id:m_kbou:20211224133537p:plain

[サンプル①]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

[プログラミング例②]:

Option Baseを使用して配列の下限値(インデックス番号)を「1」にした場合

Option Base 1

Sub サンプル()

  Dim 二次元配列(3, 5) As Variant

  MsgBox LBound(二次元配列, 1)

End Sub

「Option Base 1を指定します。サンプルプロシージャの中に二次元配列:二次元配列(3, 5)を定義し、LBound関数を使用して行下限値MsgBoxで表示して下さい。」との意味になります。(※Option Base 1は、配列の下限値(インデックス番号)を1スタートとします。)

f:id:m_kbou:20211224135153p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例②]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20211224135232p:plain

②結果は以下の様に表示されます。下限値を1とする指定をしたため、MsgBoxで「1」が表示されます。

f:id:m_kbou:20211224135243p:plain

[サンプル②]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

二次元配列での行下限値を調べる方法についての説明は以上です。

 

二次元配列での列下限値を調べる方法

二次元配列での列下限値を調べる方法について説明します。

[プログラミング例①]:

Option Baseを使用して配列の下限値(インデックス番号)を「0」にした場合

Option Base 0

Sub サンプル()

  Dim 二次元配列(3, 5) As Variant

  MsgBox LBound(二次元配列, 2)

End Sub

「Option Base 0を指定します。サンプルプロシージャの中に二次元配列:二次元配列(3, 5)を定義し、LBound関数を使用して列下限値MsgBoxで表示して下さい。」との意味になります。(※Option Base 0は、配列の下限値(インデックス番号)を0スタートとします。)

f:id:m_kbou:20211224135902p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例①]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20211224133517p:plain

②結果は以下の様に表示されます。下限値を0とする指定をしたため、MsgBoxで「0」が表示されます。

f:id:m_kbou:20211224133537p:plain

[サンプル①]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

[プログラミング例②]:

Option Baseを使用して配列の下限値(インデックス番号)を「1」にした場合

Option Base 1

Sub サンプル()

  Dim 二次元配列(3, 5) As Variant

  MsgBox LBound(二次元配列, 2)

End Sub

「Option Base 1を指定します。サンプルプロシージャの中に二次元配列:二次元配列(3, 5)を定義し、LBound関数を使用して列下限値MsgBoxで表示して下さい。」との意味になります。(※Option Base 1は、配列の下限値(インデックス番号)を1スタートとします。)

f:id:m_kbou:20211224140234p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例②]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20211224135232p:plain

②結果は以下の様に表示されます。下限値を1とする指定をしたため、MsgBoxで「1」が表示されます。

f:id:m_kbou:20211224135243p:plain

[サンプル②]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

二次元配列での列下限値を調べる方法についての説明は以上です。

 

プログラミング(サンプル)

プログラミング事例を紹介します。

www.osiete-excelvba.work

 

おわりに

今回はLBound関数を使用した配列の下限値を調べる方法について説明しました。動的配列やOption Baseを使用している場合等では、下限値を把握しておく事で正しい処理が実行できます。是非活用してみて下さい。また、類似の内容として配列の上限値を調べる方法もあります。こちらも参考にしてみて下さい。