2015年10月10日

[EXCEL]インデックスが有効範囲にありません。

Workbooks.Open ("slave.xlsx")
Set ret = Sheets("slave1").Range("A1")

上記の様なVBAコードを実行すると、「実行時エラー ‘9’: インデックスが有効範囲にありません。」とエラーが出る。ファイル名もシート名も何も間違っていないのにエラーが出る。


以下の様に書き換えたら、エラーが出なくなった。
et mybook = Workbooks.Open("slave.xlsx")
Set ret = mybook.Sheets("slave1").Range("A1")

Sheetsは前に何も付けない場合は、アクティブなワークブックを対象に処理をする様だ。その際、アクティブなワークブックに”slave1″というシートがないとエラーになるようだ。

対処方法としては、例のように明に対象のワークブックを指定してあげること。

「実行時エラー ‘9’: インデックスが有効範囲にありません。」は出なくなる。

以上

0 件のコメント:

コメントを投稿