• ベストアンサー

任意のブックのシートをコピー

任意のブックのシートをコピーしたいのです。 たとえば、いつも使用するブック【AAA】があるとして、そこに後から開いたブック【BBB】のシート「あああ」をコピーしたいのです。 ここでの問題は、そのブックが常に【BBB】ではなということです。 例えはブック【CCC】のシート「あああ」であったり、ブック【DDD】のシート「あああ」であったり。 シート名は常に「あああ」なのですが、ブック名が毎回違うのです。 ブック【AAA】のマクロでなんとかできますでしょうか?

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

Sub Test()   Dim FN As Variant   Dim wb As Workbook   'そこに後から開いたブック【BBB】   'ダイアログで任意のブックを選択してください。   FN = Application.GetOpenFilename(Title:="ファイル名を選択して下さい")   If FN = False Then Exit Sub   Set wb = Workbooks.Open(FN)   'アクティブシートの右隣にコピー   wb.Sheets("あああ").Copy After:=ThisWorkbook.ActiveSheet End Sub

pc-cad
質問者

お礼

思ったとおりになりました。 すごいです。 ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nao-y
  • ベストアンサー率58% (111/190)
回答No.1

以下のロジックで、できると思います(未検証) 1.開きたいブックの名前(仮に【XXX】とする)を取得する。  (Application.GetOpenFilenameを使うのが一般的ですね) 2.ブック【XXX】を開く。  →このときにブック【XXX】がActiveになります。 3.ワークシート「あああ」(と指定するだけで、ブック【XXX】のワークシート「あああ」が 選択されます)のCopyメソッドを使い、ワークシート【AAA】の任意のシートの後(または前)に コピーする。

pc-cad
質問者

補足

うまくいきません。 私のレベルの低いせいです。 すみません。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう