- ベストアンサー
Excel VBAの違うBOOKへのコピーについて
- Excel VBAを使用して異なるBOOK間でデータをコピーする方法について教えてください。
- セルa-a1のデータをBOOK1のセルb-c1にコピーしたい場合、それぞれのBOOKをアクティブにする必要がありますか?また、他のセルへのコピーも行いたい場合、時間のかかる処理になってしまいますか?
- 他の方法を教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ただ単に表示をさせたくない場合には 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で検索してみて下さい。(なかったらごめんなさい)
その他の回答 (2)
- olive_surf
- ベストアンサー率27% (9/33)
ありました。 ただ、下記の方法でセル操作できるかわかりません。 =========================================== Sub Sample() n = FreeFile Open "D:\Test\t.xls" For Output As #n Print #n, Now Close #n End Sub =========================================== あとはいろいろと工夫してみてください。 ではでは。
お礼
あ、これはtxtファイルからの書き出しやtxtファイルへの書き出しに使う方法ですね なるほど、試してみます ありがとうございました
- higekuman
- ベストアンサー率19% (195/979)
VBAで処理したいファイルは、開いている状態じゃないと、扱えなかったと思います。
お礼
そうなんですね こちらのシートをセレクト、コピー、こちらのシートをセレクト、貼り付け、とやっていると、コピーする数が多いものでコードがものすごく長くなってしまい、 なんとかなれば・・と思ったのですが さっそくのお返事ありがとうございました
お礼
ははぁ、なるほど obExcel.Visible = False で見えなくするわけですね ありがとうございました