- ベストアンサー
エクセル)VBAで他のブックのセル参照
はじめまして。 エクセルのVBAについて教えてください。 VBAで、 book1のsheet1のセルA1にあるデータを開いていない(アクティブでない)別のbook2のsheet2のセルB1にコピーしたいのですがこんなことってできるのでしょうか? ・・やはり開いていないとダメなんでしょうか? あと、これって"ブック参照"っていうことなんでしょうか?自分がやりたいことが何なのか判らないので上手く調べる事が出来ず難儀しています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2のものです。 間違ってました。 sub test() Sheets("sheet1").Select Range("a1").Copy Workbooks.Open(Filename:="c:\BOOK2.XLS").RunAutoMacros Which:=xlAutoOpen Sheets("sheet2").Range("b2").PasteSpecial Paste:=xlValues Application.CutCopyMode = False Application.DisplayAlerts = False ActiveWorkbook.Save ActiveWorkbook.Close end sub でした。
その他の回答 (2)
- 7_7_7
- ベストアンサー率24% (115/469)
可能ですよ! Sub test() Sheets("sheet1").Range("a1").Copy Workbooks.Open(Filename:="c:\BOOK2.XLS").RunAutoMacros Which:=xlAutoOpen Windows("BOOK2.XLS").Activate ActiveWorkbook.Sheets("sheet2").Range("b2").PasteSpecial Paste:=xlValues Application.CutCopyMode = False ActiveWorkbook.Saved = True ActiveWorkbook.Close End Sub
- kmb01
- ベストアンサー率45% (63/138)
開いていないブックには書きこめないのでVBAでbook2を開いて書きこむことになります。 参照として書きこみたいならB2セルには ='C:\My Documents\[book1.xls]Sheet1'!$A$1 のような数式を書きこむことになると思います。
お礼
ありがとうございます。 やっぱりいったん開くことは必要なのですね。 もしかすると何かウラ技とかあるのでは無いかなと 思ってました。(そんな都合の良いこと無いですよね)
お礼
ありがとうございました。 やはりいったん開くことは必要なのですね。 丁寧な対応、感謝いたします。