2つの異なるブックのシートを新しいブックにコピーするには?

Question 60.4   Previous Next
2つのエクセルファイルから、新たに別のエクセルファイルを生成させる仕事が入ってきました。
Excel VBAだけで作れるものなのか、EXCEL + Visual Basicでないと出来ないものなのか判断がつきません。
特別な処理が無い場合は、Excel VBAだけでも作れるものなのでしょうか?

例として、Xというエクセルファイルの情報AAAAと、Yというエクセルファイルの情報BBBBを、ZというエクセルファイルにAAAA、BBBBを転記するといったものです。
サンプルがいただければ幸いです。
Answer   Copyright (C) 2003.6.2 永井善王
Visual Basicをやられるようですが、基本的にExcelブックのシートのデータを扱う場合、ほとんどの作業は Excel VBA で可能と言えます。また、そうした方がスムースな場合が多いでしょう。

本題に入りますが 「AAAA」、「BBBB」とは何を意味するのでしょうか? シート名、セル範囲、どちらにしてもセルに入っている情報をコピーすればよいのかと思いますが。

もしも、ブック("Book1")のワークシート("Sheet1")をそっくりコピーして、新しいブックに貼り付けたいのでしたら、次のようになります。
    Worksheets("Sheet1").Copy
また、他のブック("Book2")の"Sheet1"の前に貼り付けたい場合は次のようです。
    Worksheets("Sheet1").Copy Before:=Workbooks("Book2").Sheets("Sheet1")
お試しください。

なお、コピー関係のマクロは、[Macro]の[コピー]のページに沢山掲載していますので、そちらをご覧いただければ参考になるかと思いますが、その中の[
クリップボードを経由せずにコピー貼り付けする_異なるブック] あたりは、参考になるかもしれません。

 

Excel VBA Macro