質問: excelのマクロの命令文を教えてください excel2002です。 仮にaaa.xlsを開いて書込をしその内容をマクロでwttotal.xlsに転記し又aaa.xlsに戻ります。ここまでの進行は何とかマクロが作れました。その後aaa.xlsより終了マクロを下記のように作りました。 sub shuuryou() windows("wttotal.xls").close savechanges:=true activeworkbook.save application.quit end sub この場合うまく働いてくれますが時にaaa.xlsだけで作業が終わることがあります。するとwttotal.xlsが開いていないのでエラーになります。wttotal.xlsが開いていてもcloseの時でもかのマクロを働かすにはどのような命令文を何処に付け加えればいいのでしょうか。 よろしくお願いします。
回答: 美しくも正しくもないけど一番簡単にやるなら on error resume next でしょう。 意味はエラーが起きても無視して次の行から実行。 今回のようにエラーの原因がこれしかないと分かっているなら敢えて使ってもいいですが、もっと複雑なコードの途中にでも入れると本来のエラーの原因が若りにくくなって混乱の元になりますので要注意です。 on error resume nextは中々便利なんですが、バグを隠すためのものではありません。本来なら、先にwindowが開かれているかの確認をするなり、あるいは開いた際にフラグをたてておいて、フラグがたっていたのならcloseするなどの処理をするのが正当な手法です。