• ベストアンサー

あるシートをすべてのブックにコピーしたい

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

追加シートを持つブックを開く 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を押し、マクロを実行する。

uyghur_biz
質問者

お礼

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

その他の回答 (1)

回答No.2

>excel マクロで簡単に終わらせることができないでしょうか? 単純なシートのコピーは、ソンナに簡単なコトではない! チョット考えただけでも、シート名の衝突、名前定義の衝突、数式があれば、リンク(別のブックだけでなく、別のシートでも、、、)の問題があったり、等々、必ずしも思ったとおりのコトができるわけではない、、、

uyghur_biz
質問者

お礼

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

関連するQ&A