- ベストアンサー
EXCELでブックを開かず?に値をコピーするには?
VBAに関する質問です 現在作業中のブック「Book1」のシート「Sheet1」のセル「A1~A10」の値を、開いていない「Book2」のシート「Sheet2」のセル「B1~B10」にコピーし、さらに「B1~B10」の値をソートするということをしています。 現状ではBOOK2を開いてコピーするという方法しか判らないので、そうしているのですが、いちいちBOOK2が立ち上がるのが目障りなので、BOOK2を開かないか非表示のまま作業できないものかと思っております。 何卒よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
BOOK2を開かずにBOOK2の内容を変更するのは無理です。 BOOK2が立ち上がるのが気になるのであれば、処理の前に Application.ScreenUpdating = False を挿入しておき、処理が終わった後に Application.ScreenUpdating = True を挿入すればいいかと思います。
その他の回答 (1)
- zap35
- ベストアンサー率44% (1383/3079)
ExecuteExcel4Macroを使用することで参照するBook2を開かずに値を取得することが可能です。以前の回答URLを貼ります。(Book2のシート上で並べ替えはできません。Book2のデータをBook1に「コピー」するだけです) Activesheet.Cells(1,1) = ExecuteExcel4Macro("z:\[Book1.xls]Sheet1!R1C1") のように使用します。取得できるのはセル単位になります。 ただし次期EXCELでもこのメソッドがサポートされる確証はありませんのでご承知おきください。
お礼
No.1のham_kamoさんの案で事足りましたので、まだ確認はしていないのですが、こちらの案も大変参考になりました。どうもありがとうございました。
お礼
早速試してみたところうまくいきました。どうもありがとうございます