• ベストアンサー

ブックをまたぐ作業ってできますか?

ブック間のデータをコピーしたいのですが、マクロでその様な事が可能なのでしょうか? 例えば、目的の構文の記述がされているブック(仮にa.xls)のみが開かれた状態で、作業としては、 コピーもとのデータのある b.xls をオープン ↓ セル A1:B2 をコピー ↓ 貼り付け先の c.xls をオープン ↓ A1 に貼り付け ↓ b.xls c.xls ともに閉じる という作業です。 そもそも、可能でしょうか? 条件付きなら可能でしょうか? ダメでしょうか? ご教授お願い致します。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

素人です。 ヘルプを見ながら記述してみました。 こんなのでどうでしょうか? おかしかったら、どなたか修正してください。 Sub test()  Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "b.xls"  'b.xls をオープン  Worksheets("Sheet1").Range("A1:B2").Copy  Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "c.xls"  'c.xls をオープン  Worksheets("Sheet1").Paste Destination:=Range("A1")  Workbooks("c.xls").Close savechanges:=True  '保存して閉じる  Workbooks("b.xls").Close savechanges:=False  '保存せず閉じる End Sub

その他の回答 (1)

noname#97729
noname#97729
回答No.1

>ブック間のデータをコピーしたい なでしこで自作してはどうでしょう。 http://nadesi.com/ このようになります。 このプログラムとテストb.xls テストc.xls を 同じフォルダに入れます。 #-----ここからプログラム エクセル起動。 「{母艦パス}テストb.xls」をエクセル開く。 「A1」のエクセルセル取得してセル内容1に代入。 「B1」のエクセルセル取得してセル内容2に代入。 2秒待つ。 「{母艦パス}テストc.xls」をエクセル開く。 セル内容1を「A1」にエクセルセル設定。 セル内容2を「B1」にエクセルセル設定。 #------ここまで