無効なインデックス番号

配列を使用する場合、範囲を超えたインデックス番号を使用すると実行時エラーとなります。ここでは Excel VBA で配列で無効なインデックス番号を使用した場合にどうなるのかを解説します。

(2022 年 06 月 13 日公開 / 2022 年 06 月 13 日更新)

無効なインデックス番号

例えば次のような配列で試してみます。

Dim pref(2) As String

この場合有効なインデックス番号は0から2までとなります。この時にインデックス番号として3を指定して配列の要素に値を代入してみます。

Sub テスト()
    Dim pref(2) As String

    pref(0) = "東京都"
    pref(1) = "神奈川県"
    pref(2) = "千葉県"
    pref(3) = "埼玉県"
End Sub

上記のマクロを実行すると次のようになります。

インデックス番号のエラー

このように「実行時エラー」となります。コンパイルしただけではエラーとなりませんので注意して下さい。これはコンパイルの段階では配列のインデックスが範囲内なのかどうかをチェックしていないためです。実際に実行してみて始めてエラーとなります。

-- --

Excel VBA で配列で無効なインデックス番号を使用した場合にどうなるのかを解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。