• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAの違うBOOKへのコピーについて)

Excel VBAの違うBOOKへのコピーについて

このQ&Aのポイント
  • Excel VBAを使用して異なるBOOK間でデータをコピーする方法について教えてください。
  • セルa-a1のデータをBOOK1のセルb-c1にコピーしたい場合、それぞれのBOOKをアクティブにする必要がありますか?また、他のセルへのコピーも行いたい場合、時間のかかる処理になってしまいますか?
  • 他の方法を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは。 ただ単に表示をさせたくない場合には application.screenupdate = false でできます。 また、FileSystemObjectを使用してもできます。 下記の例はa.xlsに埋め込んで起動させて下さい。 (処理は単純に同じ場所のセルの内容をコピーするだけです) ============================================================= Sub test() Set obExcel = CreateObject("Excel.Application") obExcel.Visible = False Set obBook = obExcel.Workbooks.Open("C:\Documents and Settings\tanaka\デスクトップ\b.xls") Set obSheet = obExcel.Sheets(1) x = 1: y = 1 Do Until x = 10 obSheet.Cells(x, y) = ActiveSheet.Cells(x, y) x = x + 1 Loop obBook.Close savechanges:=True Set obExcel = Nothing: Set obBook = Nothing: Set obSheet = Nothing End Sub ============================================================= 上記は見えなくしているだけで、実際にはファイルを開いています。 この他に「実際にファイルを開かなくても入力する方法」があったような気がします。Webで検索してみて下さい。(なかったらごめんなさい)

mnakayoshi
質問者

お礼

ははぁ、なるほど obExcel.Visible = False で見えなくするわけですね ありがとうございました

その他の回答 (2)

回答No.3

ありました。 ただ、下記の方法でセル操作できるかわかりません。 =========================================== Sub Sample() n = FreeFile Open "D:\Test\t.xls" For Output As #n Print #n, Now Close #n End Sub =========================================== あとはいろいろと工夫してみてください。 ではでは。

mnakayoshi
質問者

お礼

あ、これはtxtファイルからの書き出しやtxtファイルへの書き出しに使う方法ですね なるほど、試してみます ありがとうございました

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

VBAで処理したいファイルは、開いている状態じゃないと、扱えなかったと思います。

mnakayoshi
質問者

お礼

そうなんですね こちらのシートをセレクト、コピー、こちらのシートをセレクト、貼り付け、とやっていると、コピーする数が多いものでコードがものすごく長くなってしまい、 なんとかなれば・・と思ったのですが さっそくのお返事ありがとうございました

関連するQ&A