Excel2010でCSVを読み込んで新規ブック作成するというVBAを作った時
 なぜかExcel2013以降だとエラーになって動かない!とお客様に言われて
 急遽調べた所、バージョン違いによるエラーとわかりました。
CSVファイルがUTF8だったからその関係で読み込みできなかったのかな?とか
 そっちのほうを考えていましたが、エラー箇所をわかるように
 エラー表示のメッセージにキーワードを入れたりして、エラー箇所の追跡しました。
結果

「インデックスが有効範囲にありません」
怪しいのは、シート削除の箇所でした。
 Excel2010では新規ブック作成すると、シートが3つ作成されます。Sheet1、Sheet2、Sheet3 それを削除していたのでした。
 しかしExcel2013以降は、デフォルトがシート1となっていてSheet1しか作成されません。
 
 
  
存在しないシートを削除しようとしたから、当然と言えば当然ですね。
  
 お客様に「シート名存在チェックしてから削除するようにしましょか?」と伺ったのですが
 特にその必要はなくすぐに使いたいから・・ということで、設定でやって頂く事にしました。

コメント