ここから本文です

エクセルのある特定のシートを、複数のブックに一括コピーする訪問がありますでし...

blu********さん

2014/5/2517:36:58

エクセルのある特定のシートを、複数のブックに一括コピーする訪問がありますでしょうか。

フォルダ内に20個ほどブックがあるのですが、それらを一つ一つ開かずに、今開いているシートを、そ

れぞれのブックに追加したいのです。

よろしくお願いします。

補足×訪問 →◯方法
失礼しました。

閲覧数:
5,570
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

minicream4さん

2014/5/2519:05:33

確かに一つづつブックを開いてコピーするのは面倒ですが、開かないことにはコピーすることはできません。

以下のマクロをVBE(Altキー+F11)を起動して、VBAProjectの適当なところで右クリックして挿入>標準モジュールを選択し追加された右の真っ白なところに貼り付けます。

このマクロではC:\temp内のxlsxブックをすべて開いてブックの一番最後にシートを追加・コピーして、追加したシートにコピー元のシート名を付けて保存します。
=============================================
Sub MatomeCopy()
Dim Filename As String
Const FilePath As String = "C:\temp\"
Dim SourceSheet As Worksheet
Dim TargetBook As Workbook
Set SourceSheet = ActiveSheet
Filename = Dir(FilePath & "*.xlsx", vbNormal)
Do While Filename <> ""
Set TargetBook = Workbooks.Open(FilePath & Filename)
SourceSheet.Copy after:=TargetBook.Worksheets(TargetBook.Worksheets.Count)
TargetBook.Worksheets(TargetBook.Worksheets.Count).Name = SourceSheet.Name
TargetBook.Close savechanges:=True
Filename = Dir()
Loop
Set SourceSheet = Nothing
Set TargetBook = Nothing
End Sub
===========================================
「Const FilePath as String = "C:\temp\"」
の"C:\temp\"をシートを追加するブックの保存先のパスに変更してください。

質問した人からのコメント

2014/5/26 12:36:36

降参 ありがとうございます!!できました!!本当に助かりました!!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる