ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

配列の添字の最小値を「1」に設定する

      2015/03/30

Option Base ステートメントを使用する


【書式】
Option Base 1


添字の既定の最小値は 0 です。Option Base ステートメントを使うと既定の最小値を 1 に設定できます。

Option Base ステートメントを使用する場合は、モジュール内のどのプロシージャよりも前に記述する必要があります。Option Base ステートメントは、モジュール内で一度だけ、次元を含む配列の宣言よりも前に記述します。

Option Base ステートメントの設定が有効になるのは、ステートメントが記述されているモジュール内の配列の添字の最小値のみです。


Option Base ステートメントを設定する

モジュールの宣言セクションに Option Base 1 を指定するとモジュール内の配列の添字の最小値が「1」に設定されます。

Open Base ステートメント例1


VBAソース


実行結果

Option Base 1 ステートメントを設定しているため添字の最小値が「1」となります。
( ※ UBound 関数・LBound 関数 は、それぞれ配列の添字の最大値・最小値を取得します。)

Option Base 1 ステートメント例2



Option Base ステートメントに影響されない関数など

Option Base ステートメントを使用しても Split 関数キーワード ParamArray を使って作成する配列の添字の最小値は 0 のままです。
つまり、Split 関数キーワード ParamArray は、Option Base ステートメントの影響を受けません。

例 Split関数(※ Array 関数 と比較)


実行結果

Array 関数は、Open Base ステートメントの影響を受けるため、val1(1)は、「1」を表示します。一方、Split 関数は、Open Base ステートメントの影響を受けないため、val2(1)は、「20」を表示します。

Option Base 1 ステートメント例3


例 キーワード ParamArray


実行結果

Option Base 1 ステートメントの影響を受けていないので、「12」が表示されます。

Option Base 1 ステートメント例4



 - VBA基本 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

フォント名(Name,ThemeFont,StandardFont) 例
フォント名(Name,ThemeFont,StandardFont)

フォント名を取得・設定する(Name プロパティ) Name プロパティは、オブ …

ある数値が、複数の範囲のどの範囲に含まれるかを示す文字列を返す(Partition 関数)

Partition 関数 の使い方 Partition 関数は、ある数値が、区切 …

カレントフォルダの変更・確認
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)

カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …

フォントの設定(Font プロパティ)

フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …

VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)

論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …

Volatile メソッド
ユーザー定義関数:自動再計算関数の設定(Volatile メソッド)

ユーザー定義関数で、自動再計算を行うかどうかを設定する ワークシート上で使用する …

DateSerial 関数 TimeSerial 関数 使用例
日付時刻:数値から日付・時刻データを取得( DateSerial 関数、TimeSerial 関数 )

DateSerial 関数(数値を使って日付データを取得) 【書式】 date …

現在の日付時刻を取得する
日付時刻:現在の日付・時刻を取得・設定(Now、Date、Time)

現在の日付・時刻を取得・設定 現在の日付・時刻を取得(Now 関数、Date 関 …

乱数(Rnd 関数)例1
乱数を生成する(Rnd 関数)

Rnd 関数の使い方 Rnd 関数は、0 以上、1 未満の範囲の乱数を単精度浮動 …

Choose 関数 例01
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)

Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …