• 締切済み

ExcelVBAでBook間のシートコピーについて

以前、Excel2003を使用しているときに作成したファイルで、2003の時には特に問題なく動いたのですが、Excel2010に入れ替えてからうまくいきません。 コードは以下のようなもので、コピーするシートには埋め込みグラフ(ソースは同一シート)があります。 Dim Book_A As Workbook Dim Book_B As Workbook Set Book_A = ThisWorkbook Set Book_B = Workbooks.Open("D:\Book_B.xls") For i = 1 To 3 Book_A.Sheets(i).Copy Before:=Book_B.Sheets(i)   '※ Next i 上記※印の部分で下記のエラーが発生します。 実行時エラー '-2147417848(80010108)': オートメーションエラーです。 起動されたオブジェクトはクライアントから切断されました。 となり、止まってしまいます。 また、同じファイルを2003の入った端末から実行するとエラーは発生しません。 また、2010の入った端末で試しにシート見出しを右クリックして別のBookにコピーをしたところ、グラフやテキストボックスが抜け落ちたものがコピーされます。 2010では方法が違うのでしょうか?

みんなの回答

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

2007以降、グラフィックに関するエンジンが変わったようで、 2003以前で作った図形を含むシートをコピーし、 2007以降のブックに貼り付けしても図形を持って行ってくれません。 DrawingObjects.item  あたりを使ってコツコツやらなきゃ・・かもしれません。

zenithcooler
質問者

お礼

回答ありがとうございます。 今まで通りにはできないようですね。 あるタイミングでブックの一部のシートだけをバックアップしたかったのですが… 別の方法を考えてみます。 ありがとうございました。

関連するQ&A