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