Excel2010でCSVを読み込んで新規ブック作成するというVBAを作った時
なぜかExcel2013以降だとエラーになって動かない!とお客様に言われて
急遽調べた所、バージョン違いによるエラーとわかりました。
CSVファイルがUTF8だったからその関係で読み込みできなかったのかな?とか
そっちのほうを考えていましたが、エラー箇所をわかるように
エラー表示のメッセージにキーワードを入れたりして、エラー箇所の追跡しました。
結果
「インデックスが有効範囲にありません」
怪しいのは、シート削除の箇所でした。
Excel2010では新規ブック作成すると、シートが3つ作成されます。Sheet1、Sheet2、Sheet3 それを削除していたのでした。
しかしExcel2013以降は、デフォルトがシート1となっていてSheet1しか作成されません。
存在しないシートを削除しようとしたから、当然と言えば当然ですね。
お客様に「シート名存在チェックしてから削除するようにしましょか?」と伺ったのですが
特にその必要はなくすぐに使いたいから・・ということで、設定でやって頂く事にしました。
コメント