Hirozak Blog

[Excel] エラー1004の原因と対処(VBAマクロでシートのコピーが失敗した話)

事象

ExcelのVBAマクロ内でシートのコピーを行おうとしたところ以下のようなエラーに遭遇。

?err.Description
移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。
?err.Number
1004

 

対処

Excelのofficeボタンから、『Excelのオプション』>『保存』>『ファイルの保存形式』で、『Excelブック(*.xlsx)』に変更する。

 

環境

Windows7, Excel 2007

 

同じような事象に遭遇した方

Excel2007でBOOK間のシート移動をVBAで行うとエラーになる

まさにコレですね。上記エラーメッセージは上記サイトから拝借。
(ポップアップ表示されたエラーメッセージ、なんでコピーできやんねん)

こちらで紹介されている回答コメントを参考に、上記対処を実施後にマクロを再実行したところ、無事解決。

 

参考:MSのサイト

Excel で、プログラムを介してワークシートをコピーすると「実行時エラー 1004 」が発生する

自動翻訳なので分かり辛いが、別の理由で発生するケースもあるっぽい。

 

マイクロソフトで学んだこと、マイクロソフトだからできること。
樋口 泰行

関連商品
変人力―人と組織を動かす次世代型リーダーの条件
「愚直」論 私はこうして社長になった
スマホでアップルに負けてるマイクロソフトの業績が絶好調な件
グーグル、アップル、マイクロソフトに就職する方法
なぜ、あなたの仕事は終わらないのか スピードは最強の武器である
by G-Tools