同じワークシートを連続で多回数コピーした場合のエラー回避

ExcelのVBAマクロで、計算、グラフ描画等々の、様々な処理をするときに、元の計算書式となるようなワークシートをコピーして処理をさせるというような場合は多くあると思う。
このときに、for文などで繰り返し処理をかける際、毎回コピーをさせていくが故にランタイムエラーが発生することがある。

実行時エラー1004:ワークシートクラスのコピーに失敗しました。

このメッセージが表示され、いままで普通に行えていたworksheets.copyが突如失敗するという、初見ではなにがなんだかわからずビビってしまうエラーが発生する。
これを防ぐには、コピー回数が一定回数を超えたら自動的にブックを保存すればよい。

thisworkbook.save

マクロと同一ブックに対象のワークシートがあるならこれだけ。マクロのあるブックと処理している対象のブックが違うのであれば、対象のワークシートがあるブックをこまめにsaveすること。


見てみたらきちんとMicrosoft様のサポートページにも記述されていましたね。
[Excelで、プログラムを使用してワークシートをコピーする際、ランタイム エラー 1004 が発生する。http://support.microsoft.com/kb/210684/ja]

(追記)
グラフを大量に生成するときも、ランタイムエラーが発生することがあるらしいです。その際にも、こまめにworkbook.saveしておけばエラーを避けられるとのこと。