重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ExcelVBAでの異なるファイル間のセルのコピーについて

セルのコピーでエラーが除去できなく困っています
同じファイル内のコピーでは、以下のコードが可能なのですが
-----------------------------------------------------------------
Set XL1 = CreateObject("Excel.Application")
Set WB1 = InXL1.Workbooks.Add
Set XL2 = CreateObject("Excel.Application")
Set WB2 = InXL2.Workbooks.Add
WB1.WorkSheets(1).Range("A1").Copy WB1.WorkSheets(1).Range("A2")
-----------------------------------------------------------------
別ファイルへのコピーではエラーになってしまいます
WB1.WorkSheets(1).Range("A1").Copy WB2.WorkSheets(1).Range("A2")

なぜそうなってしまうのかわかりません
別ファイルへのコピー方法をご存じの方は是非教えて下さると助かります

A 回答 (1件)

>なぜそうなってしまうのかわかりません



別プロセス(ブックの派生が別々)で起動していることになるので、両者(ブック)の連携が取れないのです。
下記(ブックの派生が同一)ならOKです。

スタートメニューからエクセルを2つ機動(2回機動:別プロセス起動)するのと、一つのエクセルから新規にエクセルを複数機動(同一プロセス起動)した場合では、コピペ等の動作が制限されます。


Sub tes1()

Dim XL1, WB1, WB2

Set XL1 = CreateObject("Excel.Application")

XL1.Visible = True

Set WB1 = XL1.Workbooks.Add
Set WB2 = XL1.Workbooks.Add

WB1.Worksheets(1).Range("A1") = 1

WB1.Worksheets(1).Range("A1").Copy WB2.Worksheets(1).Range("A2")

End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。素晴らしいですね!
試してみましたら見事動作するようになりました。
この度はありがとうございました。

お礼日時:2010/05/16 16:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!