| 
    
     |  | ▼ぴーちゃん さん: 
 こんにちは
 
 なぜ開かなきゃいけないかというSK63さんのご意見に同じです。
 なんとなく、開かないで処理すると[かっこいい]?
 あるいは、もしかしたら処理効率が[すごくいい]?
 
 開かないというのは、あくまで画面上で見えないだけで、奥深いところでは
 目的のブックの目的のシートに対するIOは発生しており、メモリー上にも
 [きっと、どこかに]展開されていると思われますよ。
 
 やるなら、ExcecuteExcel4Macro を使って、1セルごとに抽出することを
 必要なセル数、実行するか、あるいは(これもセルごとにVBAで)リンクを埋め込み
 最後に、リンク式の入ったセルを値に変換・・・
 
 こんなあたりでしょうかね。そのためのコード処理のほうが負荷が大きいかもですよ。
 開いたブックなら、極端に言えば Cells.Copy 一発で処理できますよね。
 見た目、かっこよく(?)したいなら、開く前に Application.ScreenUpdating = False
 開いてコピーしてブックを閉じたあとに Application.ScreenUpdating = True
 
 転記するセル数にもよりますが、このほうが、絶対に早いと思います。
 
 |  |