配列

同一の種類のデータを複数まとめて格納したものを「配列」といいます。データの一つ一つは、「インデックス番号」で管理します。

構文
Dim 配列変数名(インデックス番号上限値) As データ型

サンプル
配列サンプルの図
結果
結果の図
インデックス番号は「0」から始まります。したがって、1個目のデータはインデックスの0に格納しますので、 上記サンプルでは、iは0からスタートさせます。セル番地は「1」から始まるため、セルの指定では、Cells(i + 1, 1)と、iに1を足しています。
このように、配列のインデックスが0から始まると少しややこしいです。


インデックス番号を1から始める

上記のセル番号や、シート番号のようにオブジェクトのインデックスは1から始まるので、配列のインデックス番号を1から始めるようにすると分かりやすくなります。

方法1. Option Base 1 を記述する。
サンプル
Option Base 1サンプルの図
結果
結果の図

方法2. Toキーワードを使用する。
Toキーワードを使用すると、配列のインデックス番号は任意の番号からスタートすることができます。
サンプル
キーワードサンプルの図
結果
結果の図


配列の初期化

配列のデータを数値だったら0などにすべて初期化したい時があるかもしれません。初期化には、Eraseを使用します。

構文
Erase 配列名

配列が固定サイズの配列 (通常の配列) であるか、動的配列(別記)であるかによって、Erase ステートメントの動作は異なります。 固定サイズの配列の場合、実行結果は以下のようになります。

配列の型実行結果
数値0
文字列長さ0の文字列("")
バリアント型Empty
オブジェクト型Nothing
動的配列(後記)の場合は、動的配列が使っていたメモリを解放します。従って、配列を再度参照するには、ReDimステートメント(後記)を使って、再び配列変数の次元を宣言する必要があります。
(このページの配列は静的配列と呼ばれます)
サンプル
Eraseサンプルの図
結果
結果の図


Excel VBAのチップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system