Excel VBAのチップスです。
同一の種類のデータを複数まとめて格納したものを「配列」といいます。データの一つ一つは、「インデックス番号」で管理します。
構文
Dim 配列変数名(インデックス番号上限値) As データ型
サンプル
結果
インデックス番号は「0」から始まります。したがって、1個目のデータはインデックスの0に格納しますので、
上記サンプルでは、iは0からスタートさせます。セル番地は「1」から始まるため、セルの指定では、Cells(i + 1, 1)と、iに1を足しています。
このように、配列のインデックスが0から始まると少しややこしいです。
上記のセル番号や、シート番号のようにオブジェクトのインデックスは1から始まるので、配列のインデックス番号を1から始めるようにすると分かりやすくなります。
方法1. Option Base 1 を記述する。
サンプル
結果
方法2. Toキーワードを使用する。
Toキーワードを使用すると、配列のインデックス番号は任意の番号からスタートすることができます。
サンプル
結果
配列のデータを数値だったら0などにすべて初期化したい時があるかもしれません。初期化には、Eraseを使用します。
構文
Erase 配列名
配列が固定サイズの配列 (通常の配列) であるか、動的配列(別記)であるかによって、Erase ステートメントの動作は異なります。
固定サイズの配列の場合、実行結果は以下のようになります。
配列の型 | 実行結果 |
---|---|
数値 | 0 |
文字列 | 長さ0の文字列("") |
バリアント型 | Empty |
オブジェクト型 | Nothing |