VBA エラー処理
Excelにて作業を行っているワークシートとは別のワークシートに作成されているデータを画像として貼り付ける作業を行っている時にエラーが発生します
内容としてはsheet2に作成されているセルの内容を参照して画像として貼り付ける作業です
コードを下記のように作成しました
Sheets(2).Range("A1:DO4").CopyPicture Appearance:=xlScreen, Format:=xlPicture
これをsheet1から実行させると正常に行われたり、エラーになってコードが止まる事が起きたりします
Excel2013で実行して失敗になった場合は
RangeクラスのPasteSpecialメソッドが失敗しましたになります
Excel2003で同じコードを実行して失敗になった場合には
実行時エラー'1004' クリップボードを空に出来ません
となります
どちらのExcelでもエラーになった際に、デバッグを選択しVisual Basic Editor画面にして上部の継続ボタンを押せば画像が正常に貼り付き、コードが最後まで動作します
ネットで調べてみたんですがエラーになった場合、再度その部分を実行させるには
On Error Resume [0] なるコードを実行すれば良いという物を見つけて
Sheets(2).Range("A1:DO4").CopyPicture Appearance:=xlScreen, Format:=xlPicture
の前に書き込もうとしたんですが、On Error Resume [0]の文字がエラーになってOn Error Resumeの後には[0]は指定できないようです
このようにエラーが出た場合、再度同じコード文を実行させるにはどうしたら良いのでしょうか?
また、このようなエラーが発生した場合 On Error GoToを使ってsleepで適度なタイムラグを発生させてからペーストを行わせれば良いのか?とも思いコードを書いてみたりしたのですが私では、うまく動作させる事が出来ません
この画像をペーストする時のエラーを回避させて最後までコードを実行させるにはどのようにしたら良いのでしょうか
よろしくお願い致します