宣言 配列の規定最小値を「1」に変更する

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Base ステートメント

配列の添字の最小値の既定値を設定します。モジュール レベルで使用します。

  • 構文

  • Option Base {0 | 1}
  • 解説

  • 添字の既定の最小値
    は 0 なので、Option Base ステートメントは必ずしも必要ではありません。Option Base ステートメントを使用する場合は、このステートメントをモジュール内のどのプロシージャよりも前に記述する必要があります。Option Base ステートメントは、モジュール内で一度だけ、次元を含む配列の宣言よりも前に記述します。
  • メモ

  • Dim、Private、Public、ReDim、Static などの各ステートメントで To 節を使うと、より柔軟に配列の添字の範囲を設定できます。ただし、To 節で配列の添字の最小値を明示的に設定しない場合は、Option Base ステートメントを使って既定の最小値を 1 に設定できます。Array 関数またはキーワード ParamArray を使って作成する配列の添字の最小値は 0 です。Option Base ステートメントは、Array 関数またはキーワード ParamArray に影響を与えません。
  • Option Base ステートメントの設定が有効
    になるのは、ステートメントが記述されているモジュール内の配列の添字の最小値のみです。

Option Base ステートメントの使用例

次の例では、Option Base ステートメントを使って、配列の添字の既定の最小値 0 を変更します。LBound 関数は、配列内の指定された次元の添字の最小値を返します。Option Base ステートメントは、モジュール レベルでのみ使います。
Option Explicit

Option Base 1   ' 配列の添字の既定値を 1 に設定します。


Private Sub Test()

Dim Lower
Dim MyArray(20), TwoDArray(3, 4)        ' 配列変数を宣言します。
Dim ZeroArray(0 To 5)                   ' 添字の既定の最小値を変更します。
' 配列の添字の最小値を求めるには、LBound 関数を使います。
Debug.Print LBound(MyArray)                  ' 1 が返ります。
Debug.Print LBound(TwoDArray, 2)             ' 1 が返ります。
Debug.Print LBound(ZeroArray)                ' 0 が返ります。
'1
'1
'0
End Sub

 

2000年01月01日|[VBサンプルコード]:[宣言]