Excel VBA | 配列の「範囲外アクセス」

VBA
スポンサーリンク

要点まとめ

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 という構文を学ぶと便利です。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました