Home » エクセルマクロ・Excel VBAの使い方 » 配列 » VBAで配列のインデックス・添字を1からに-Option Base 1

VBAで配列のインデックス・添字を1からに-Option Base 1

プログラミングを勉強するときにいくつかのハードルがあります。

まずは変数という概念。
次がループ処理。
そして、配列でしょうか。

[スポンサードリンク]

コンピュータというのは、似たようなことを何度も繰り返すのが得意ですから、配列とループ処理が使えるようになるかどうかが、その先へ進めるかどうかの大きな分岐点の一つです。

その配列を難解にしているのに、0オリジンという考え方があるように感じます。

配列のインデックス番号(添字)が0から始まるという点です。

例えば東京23区名を配列に代入するには、
「Dim name23ku(22) As String」
といった宣言をするわけです。

23区(23個)だから、「name23ku(23)」としたくなるところですが、インデックス番号が「0」からはじまるため、「Dim name23ku(22)」という宣言で計23個の配列が用意されることになります。

その配列をループ処理内で単純に利用するときには、
「For i = 1 To 23」
ではなく
「For i = 0 To 22」
といった記述になります。

この「0」からはじまるという点が、配列を難解にしている要因の一つです。

VBA(Visual Basic for Applications)ではこのインデックス・添え字の最小値を「0」から「1」にすることができます。

バリバリのプログラマーになろうというのではなく、マクロも書けるExcelの詳しい人という立場でよいのならば、インデックス・添え字の最小値は1にする方が簡単でいいんじゃないかと考えています。

▼操作方法:配列を1オリジンにする
モジュールの宣言セクションに
「Option Base 1」
と記述する

通常の0オリジンの状態というのは、「Option Base 0」というのが暗黙に宣言されている状態なのです。これを明示的に「1」が基準だと宣言してやるわけです。

ちなにみこの宣言を知った方の中で、「Option Base 2」「Option Base 3」といった宣言をすれば、2オリジン・3オリジンになるのかと考える方もいらっしゃいますが、それは無理です。有効なのは、「Option Base 0」「Option Base 1」だけです。

VBAでコーディングをはじめたのだけれど、配列が苦手だという方は「Option Base 1」を一度試してみてはいかがでしょう。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » VBAで配列のインデックス・添字を1からに-Option Base 1

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.