つらつら Excel VBA

私の備忘録です。

Excel VBA シートコピー失敗

wsh.Copy After:=ThisWorkbook.Worksheets(1)

Excel2007以降の環境で上記のコードをExcel2003(*.xls)ファイルで実行すると失敗する。

 

原因

扱うことのできるExcelシートの行数、列が異なるため。

行・列数をExcelのバージョン毎に覚えるのは嫌なので、どうしても知りたいときは知りたいバージョンのExcelで縦横にスクロールしる。

 

対策方法

Excel2007以降のファイル形式で保存しなおし、ファイルを開きなおす

※保存直後に実行しても失敗します。