• ベストアンサー

エクセル/マクロのエラー・・・・

エクセルでマクロ登録をいくつかし、正常に動作したことを確認しました。で、その後にいろいろ付け加えをしました。そして最終確認にとマクロを実行させてみると、下記のようなエラーが出てしまいました。 Microsoft Visual Basec 実行時エラー'9': インデックスが有効範囲にありません。 これはどうすれば良いのでしょうか?もしかし、てやり直し・・・(><)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは。どのような状態で実行されているのか良く分からないので、勝手に推察して回答してみます。違ったらごめんなさい。 首記のご質問は、マクロの記録で記録させたコードをコピーなどして、ボタンなどに貼り付けて実行させるといったようなことでしょうか?? もしそうであれば、シート名の指定などを新たに加える必要があります。 例えば、以下の例 マクロの記録での記録例(とあるセルをコピーして任意の場所に張りつける場合) Range("B2:B10").Select Selection.Copy Range("C2").Select ActiveSheet.Paste これを、下のように書き換え sheet1.Range("B2:B10").Select Selection.Copy sheet1.Range("C2").Select ActiveSheet.Paste というようなイメージでうまくいかないでしょうか?? インデックスが有効範囲にないというエラーは、例えば、セルを指定する際にRange("A1")と書いたときに、どのシートのセルなのかが判別できないようなときにも出てきます。そこで、sheet1のということで、sheet1.range("A1")と書くことで、シート1のセルということを明示してあげます。

san1126
質問者

お礼

ご回答ありがとうございます。ご指摘どおりで、確かにシート名を変更していました。元に戻ってやり直したところちゃんと動いてくれたのでよかったです。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

コードとエラーの発生している箇所が提示されていないので何とも言えませんが、 例えばアクティブシートでない時に実行したとか、シート名を変更したとか、 まずはそう言った点を確認されては?

san1126
質問者

お礼

ご回答ありがとういございます。ご指摘通りで、確かにシート名を変更していたため、変更する前に戻ってやり直したところ、正常に動作しました。

関連するQ&A