- ベストアンサー
あるシートをすべてのブックにコピーしたい
後追加された一つのシートをあるフォルダにあるすべてのexcelブックにコピーしたいですが、ひとつづつコピー上書きしていくとかなり時間がかかります。(500~600ファイルあります) excel マクロで簡単に終わらせることができないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
追加シートを持つブックを開く ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() dim myPath as string dim myFile as string application.screenupdating = false ’具体的にどこのフォルダなのか正しく記入あるいは作成する mypath = "C:\test\あるフォルダ\" myfile = dir(mypath & "*.xls*") do until myfile = "" if myfile <> thisworkbook.name then workbooks.open mypath & myfile ’具体的にどのシートをコピーしたいのか正しく作成する thisworkbook.worksheets("追加シート名").copy after:=workbooks(myfile).worksheets(workbooks(myfile).worksheets.count) workbooks(myfile).close savechanges:=true end if myfile = dir() loop application.screenupdating = true end sub マクロの内容を適切に修正する ファイルメニューから終了してエクセルに戻る ALT+F8を押し、マクロを実行する。
その他の回答 (1)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
>excel マクロで簡単に終わらせることができないでしょうか? 単純なシートのコピーは、ソンナに簡単なコトではない! チョット考えただけでも、シート名の衝突、名前定義の衝突、数式があれば、リンク(別のブックだけでなく、別のシートでも、、、)の問題があったり、等々、必ずしも思ったとおりのコトができるわけではない、、、
お礼
回答ありがとうございました!そうですね!簡単ではないこと承知した上で質問させていただきました。NO.1-keithin様の回答で完璧にできました。
お礼
keithin様:質問させていただいてから急行出張に行くことになりましてお礼言うのが遅くなりました、本当に申し訳ありません。今日あさファイルがある場所指定してやって見ました,3時間ぐらいで終わりました。完璧だった。マクロが書ければいいですね!本当にありがとうございました。