要点まとめ
Excel VBAで配列を使うとき、範囲外のインデックス番号を指定すると実行時エラーになるということが大事なポイントです。
初心者向けの解説
- 配列とは?
複数の値をまとめて管理するための入れ物。インデックス番号で要素を指定します。 - インデックス番号の範囲
例えばDim pref(2) As Stringと書くと、使える番号は 0~2 の3つだけです。pref(0)→ 1つ目pref(1)→ 2つ目pref(2)→ 3つ目
- 範囲外を指定するとどうなる?
pref(3)のように存在しない番号を指定すると、「実行時エラー」が出ます。
コンパイル(チェック)段階ではエラーにならず、実際に動かしたときに初めてエラーになります。 - なぜ注意が必要?
VBAは「その番号が範囲内かどうか」を事前には確認しないため、コードを書いているときは気づきにくいです。
実行して初めて「エラー」となるので、配列の範囲を正しく理解しておくことが重要です。
まとめ
- 配列を宣言するときに指定した数値は「最大インデックス番号」であり、0からその数値までが有効範囲。
- 範囲外の番号を指定すると 実行時エラー。
- コンパイル時には気づけないので、実行時に確認する必要がある。
初心者の方は「配列のインデックスは0から始まる」「宣言した数値までが有効」という2点をまず覚えておくと安心です。
👉 次のステップとして、「配列の範囲を柔軟に変えたい」と思ったら ReDim という構文を学ぶと便利です。
