重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

後追加された一つのシートをあるフォルダにあるすべてのexcelブックにコピーしたいですが、ひとつづつコピー上書きしていくとかなり時間がかかります。(500~600ファイルあります)

excel マクロで簡単に終わらせることができないでしょうか?

A 回答 (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を押し、マクロを実行する。
    • good
    • 0
この回答へのお礼

keithin様:質問させていただいてから急行出張に行くことになりましてお礼言うのが遅くなりました、本当に申し訳ありません。今日あさファイルがある場所指定してやって見ました,3時間ぐらいで終わりました。完璧だった。マクロが書ければいいですね!本当にありがとうございました。

お礼日時:2013/05/20 12:33

>excel マクロで簡単に終わらせることができないでしょうか?


単純なシートのコピーは、ソンナに簡単なコトではない!
チョット考えただけでも、シート名の衝突、名前定義の衝突、数式があれば、リンク(別のブックだけでなく、別のシートでも、、、)の問題があったり、等々、必ずしも思ったとおりのコトができるわけではない、、、
    • good
    • 0
この回答へのお礼

回答ありがとうございました!そうですね!簡単ではないこと承知した上で質問させていただきました。NO.1-keithin様の回答で完璧にできました。

お礼日時:2013/05/20 12:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!