【VBA】配列の添え字の最小値を1に設定する方法【Option Baseステートメント】

VBA

配列の添え字(インデックス)は「0」から割り当てられます。

でも、セル操作を行う処理を記述するときなんかは、「1」から始まってほしい時がありますよね。

 

そういう時は下のやり方があります。

・配列宣言時に添え字の最小値を指定する(例:Dim str(1 To 5) As String みたいに)

・「Option Base」ステートメントでモジュール全体で最小値を指定する

 

本記事ではそんな「Option Base」ステートメントの記述方法を解説していきます。

スポンサーリンク



Option Baseの記述方法

Option Baseの記述の仕方は下の通りです。

Option Base {0|1}

 

Option Baseでは「0」「1」のどちらかを最小値に設定できます。※デフォルトは「0」。

このステートメントは多くの場合は最小値を「1」に設定するために使用されます。

注意Option Baseでも例外があります。

それは「ParamArray」キーワードで作成された配列の添え字の最小値は常に「0」になります。

Option Baseの参考コード

下が「Option Base」ステートメントを使って、配列の最小値を「1」にした場合のコードになります。

 

1行目:配列の最小値を「1」に指定している。

5行目:最大値が「2」の配列を宣言している。

※本来なら添え字が「0」「1」「2」の3つ配列ができる。

6行目:LBound関数で配列iの最小値を調べている。

 

イミディエイトウィンドウには”1”が出力されているので、配列の添え字の最小値は”1”になっていることが確認できるかと思います。

スポンサーリンク

コメント