• ベストアンサー

エクセル マクロで別シートのフォームをコピーしたいのですが。

マクロの初心者です。 毎月送られてきますデータファイルに、定型フォーム(計算式の入った20行程度のもの)を追加したいと思っています。 毎月のデータが入っているファイルを開いておいて、 次に定型フォームのファイルを開き、コピーしたい行を選択・コピーするところまで出来たのですが、毎月のデータファイルが名前が毎月変更されるため、どのように指定をしてアクティブにしたらよいのかわかりません。 定型フォームのファイルをアクティブでなくする方法などがあるのでしょうか。よろしくお願いいたします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 >貼り付けるブックのシート名=ファイル名となっており、 r.Copy wb.Worksheets("Sheet1").Range("A1") を r.Copy wb.Worksheets(Replace(wb.Name, ".xls", "")).Range("A1") で。 セル番地は修正して下さい。

kaori611
質問者

お礼

大変助かりました。 勉強不足でしたが、丁寧にご回答いただきありがとうございました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

定型フォームのブックにコードを書き込む。 貼り付けるブックのシート名・セルが同じであればSheet1・Range("A1")を適宜修正。 貼り付けたい範囲を選択してから実行。 Sub test() Dim wb As Workbook Dim r As Range Set r = Selection For Each wb In Workbooks If wb.Name <> ThisWorkbook.Name Then r.Copy wb.Worksheets("Sheet1").Range("A1") End If Next End Sub ご参考まで。

kaori611
質問者

お礼

迅速なご回答をいただきましてありがとうございます。 貼り付けるブックのシート名=ファイル名となっており、毎回変わります。このような場合はどのように指定したらよろしいでしょうか。 初心者で申し訳ありません。

関連するQ&A