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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

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

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

Weekday 関数・WeekdayName 関数 使用例
日付時刻:日付から曜日を取得( Weekday 関数、WeekdayName 関数 )

Weekday 関数(日付から曜日を表す数値を返す)の使い方 【書式】 week …

定数(改行・タブ) 使用例
文字列:定数(改行・タブ)

改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …

no image
VBA の演算子(比較演算子)

比較演算子 比較演算子による演算の結果は「真」の場合は「True」、「偽」の場合 …

IsArray 関数 例
変数が配列かどうかをチェックする( IsArray 関数 )

IsArray 関数の使い方 【書式】 result = IsArray( va …

QBColor 関数 使用例
色を設定する(QBColor 関数)

QBColor 関数 QBColor 関数は、指定した色番号に対応するRGB コ …

文字列:文字列左から指定文字数取得(Left 関数,LeftB 関数)

Left 関数・LeftB 関数 の使い方 【書式】 result_left = …

RegExp オブジェクト Test メソッド
VBA で正規表現を使う(RegExp オブジェクトのメソッド)

RegExp オブジェクトのメソッド RegExp オブジェクトの詳細に関しては …

書式を変換(Format 関数)

Format 関数の使い方 【書式】 result = Format ( exp …

指定した文字列を数値に変換する(Val 関数)

Val 関数 の使い方 Val 関数は、指定した文字列に含まれる数字を数値として …