• ベストアンサー

EXCELでブックを開かず?に値をコピーするには?

VBAに関する質問です 現在作業中のブック「Book1」のシート「Sheet1」のセル「A1~A10」の値を、開いていない「Book2」のシート「Sheet2」のセル「B1~B10」にコピーし、さらに「B1~B10」の値をソートするということをしています。 現状ではBOOK2を開いてコピーするという方法しか判らないので、そうしているのですが、いちいちBOOK2が立ち上がるのが目障りなので、BOOK2を開かないか非表示のまま作業できないものかと思っております。 何卒よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

BOOK2を開かずにBOOK2の内容を変更するのは無理です。 BOOK2が立ち上がるのが気になるのであれば、処理の前に Application.ScreenUpdating = False を挿入しておき、処理が終わった後に Application.ScreenUpdating = True を挿入すればいいかと思います。

nanbaya2
質問者

お礼

早速試してみたところうまくいきました。どうもありがとうございます

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

ExecuteExcel4Macroを使用することで参照するBook2を開かずに値を取得することが可能です。以前の回答URLを貼ります。(Book2のシート上で並べ替えはできません。Book2のデータをBook1に「コピー」するだけです) Activesheet.Cells(1,1) = ExecuteExcel4Macro("z:\[Book1.xls]Sheet1!R1C1") のように使用します。取得できるのはセル単位になります。 ただし次期EXCELでもこのメソッドがサポートされる確証はありませんのでご承知おきください。

参考URL:
http://oshiete1.goo.ne.jp/qa2406030.html
nanbaya2
質問者

お礼

No.1のham_kamoさんの案で事足りましたので、まだ確認はしていないのですが、こちらの案も大変参考になりました。どうもありがとうございました。

関連するQ&A