• ベストアンサー

エクセルVBAでブック間のコピーをしたい。

エクセルVBAでブック間のコピーをしたい。 エクセルのVBA初心者です。 複数のブックが開いている時(ブックA,B,C...)に、今選択しているブックAのあるセルを、直前に選んでいたブックBやC(そのつど変わります)にコピーする方法は有りますでしょうか? どなたか教えて下さい。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

「一つ前」をキープしておく事自体はまぁ簡単といえば簡単で,むしろご質問に書かれていない,「ナニを(どこから)」コピーしたいのかをどうやって命令したいのか考える方が大変です。 準備: コピー元になるBook1.xlsを用意する 準備1:Book1.xlsにクラスモジュールを追加する プロパティウィンドウでオブジェクト名(モジュール名)をEventClassModuleとでもしておく クラスモジュールに Public WithEvents App As Application Private Sub App_WindowDeactivate(ByVal Wb As Workbook, ByVal Wn As Window)  Set Prepos = Wn.ActiveCell End Sub と記入しておく 準備2:Book1.xlsのThisWorkbookに Dim x As New EventClassModule Private Sub Workbook_Open()  Set x.App = Application End Sub と記入しておく 準備3:Book1.xlsに標準モジュールを追加し Public Prepos As Range Sub macro1()  Selection.Copy Destination:=Prepos End Sub と記入しておく。 Book1.xlsを保存し,閉じて,開き直す。 使い方: 幾つかブックを開く。 別のブックからBook1.xlsに戻り,コピーしたいセルを選んでMacro1を実行する。

wakayamatarou
質問者

お礼

ご丁寧にありがとうございました。 トンチンカンな質問ですみませんでした。 すごいですね。なんとか出来ましたが、私にとっては思った以上に難しかったです。 質問するにしても、もう少し勉強したいと思います。 ありがとうございました。

関連するQ&A