本文へスキップ
  1. トップページ>
  2. Tips>
  3. Excel2010、実行時エラー9インデックスが有効範囲にありませんの原因

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
Access2010、最新のレコードを安定して取得する方法
Windows10、マッハドライブはアンイストールすべき
パソコンの動作が遅い、SSDによる高速化2
Netflix、解像度が低い時の対処方法
Access2010、定義XMLによるスキーマの確認が失敗する時の対処方法

Excel2010、実行時エラー9インデックスが有効範囲にありませんの原因

Excel2010は、手頃な価格で高機能な表計算ソフトです。
またVBAによるプログラムを行うと、特に繰り返し作業では多大な威力を発揮します。
しかし、VBAはパソコンの設定が変わると正しく動作しない場合が有ります。
発生したパソコンは、下記のソフトを使用していました。

OS       : Windows7(64bit)
表計算ソフト   : Excel2010(32bit)

以下、Excel2010、実行時エラー9インデックスが有効範囲にありませんの原因と対策を記載して行き
ます。

(項目1)
 ・Excel2010でマクロを実行した時に、「実行時エラー9インデックスが有効範囲にありません」と
  なり、マクロの実行時エラーが発生しました。
  

(項目2)
 ・インターネットで、「実行時エラー9インデックスが有効範囲にありません」を調べると、
  エクセルVBA 実行時エラー'9'の回避方法についてが見つかりました。
 ・「登録されている拡張子は表示しない」のチェックが外れてるとエラーが出るとの情報が有りました。

(項目3)
 ・フォルダーオプションで、「登録されている拡張子は表示しない」を確認して見ると、チェックが外れて
  いました。
  

(項目4)
 ・そこで、下記の様に「登録されている拡張子は表示しない」にチェックを入れると、マクロが正常に作動
  しました。
  

(項目5)
 ・「実行時エラー9インデックスが有効範囲にありません」の原因は、「登録されている拡張子は表示しない」
  のチェックが外れている事でした。

 ・「登録されている拡張子は表示しない」にチェックを入れるとマクロは正常に作動しますが、これではパソ
  コンの設定に依存するマクロになってしまいます。
 ・パソコンの設定に依存するマクロは、汎用性が無く、大変不便なマクロになってしまいます。
 ・そこで以下は、「登録されている拡張子は表示しない」のチェックの有無に関わらず正常にマクロが作動する
  方法を検討して行きます。

(項目6)
 ・「実行時エラー9インデックスが有効範囲にありません」は、指定したファイル名が存在しない場合に発生
  します。
 ・ファイル名をDir(OpenPath & "\*.xls", vbNormal)で取得した場合、「登録されている拡張子は表示しない」
  のチェックの有無によって、下記の現象が発生する場合が有ります。

  OpenName = Dir(OpenPath & "\*.xls", vbNormal)
  TargetName = Left(OpenName, Len(OpenName) - 4)
  Workbooks. OpenFileName:=OpenPath & "\" & OpenName, ReadOnly:=True
  Workbooks(TargetName).Activate ← ここで、エラーが発生する

          チェック有  チェック無
  OpenName   data.xls   data.xls
  TargetName   data    data
  エクスプローラ  data    data.xls

(項目7)
 ・上記の現象への対策は、マクロを下記の様に変更します。(下線の箇所)
 ・これによって、「登録されている拡張子は表示しない」のチェックの有無に関わらず正常にマクロが作動する
  様になります。

  OpenName = Dir(OpenPath & "\*.xls", vbNormal)
  TargetName = OpenName
  Workbooks. OpenFileName:=OpenPath & "\" & OpenName, ReadOnly:=True
  Workbooks(TargetName).Activate

          チェック有  チェック無
  OpenName   data.xls   data.xls
  TargetName   data.xls   data.xls
  エクスプローラ  data    data.xls

(項目8)
 ・以上で、Excel2010、実行時エラー9インデックスが有効範囲にありませんの原因と対策は終了
  です。



contents

エクセル将棋館

日本国

地方都市

e−mail(e−mail


スポンサード リンク