【VBA】エラー「インデックスが有効範囲にありません」の解決方法

  • このエントリーをはてなブックマークに追加

エラーメッセージ「実行時エラー ‘9’: インデックスが有効範囲にありません」の原因と解決方法を紹介します!

原因:シート名の設定が誤っている

存在しないシート名orシート名が間違っているか、シートのインデックスが無効な範囲外にアクセスしようとしたときに発生します。

Sub Example1()
    Dim ws As Worksheet
    
    '存在しないシート名を設定
    Set ws = ThisWorkbook.Sheets("Sheet2")
    
    'インデックスが無効な範囲外
    Set ws = ThisWorkbook.Sheets(2)
    
End Sub

解決策

シート名、インデックスを正しい値に修正する。

Sub Example1()
    Dim ws As Worksheet
    
    '存在するシート名を設定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    'インデックスが有効な範囲
    Set ws = ThisWorkbook.Sheets(1)
    
End Sub
  • このエントリーをはてなブックマークに追加