• ベストアンサー

EXCELで複数のBookにマクロを使用して転記する方法

Book1にSheetが5つ(Sheet名 あ、い、う、え、お)あります。 このSheetをマクロを使用して、それぞれ5つの別のBookにそのSheet名をつけて、 元と同じ名前のSheet名で保存する方法を教えて下さい。 コピー元  Book1   コピー先   Book名 あ  Sheet名 あ.xls Book名 い  Sheet名 い.xls Book名 う  Sheet名 う.xls Book名 え  Sheet名 え.xls Book名 お  Sheet名 お.xls

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

kenchandesuさん、こんにちは。 #1のmerlionXXです。 > あらかじめ作ってある5つの別のフォルダー(あ、い、う、え、お)に > 5つの別のBookを作るようにお願いします。 そういうことは最初からはっきり書くものです。 作ってある5つのフォルダー名と、そこにいれるBOOK名とシート名は一致しているんですね? そのフォルダーのパスを書いてくれないと、こちらではわからないと思いません? 仮に、C:\Documents and Settings\ユーザー名\My Documents のなかに作ってあるとすれば、下記のようになります。ただし、ユーザー名のところは自分のに直してくださいね。 Sub TEST2() Dim st As Worksheet For Each st In ThisWorkbook.Worksheets st.Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\ユーザー名\My Documents\" & st.Name & "\" & st.Name & ".xls" ActiveWindow.Close Next End Sub

kenchandesu
質問者

お礼

返事が遅くなり、また、2回も質問し、申し訳ありませんでした。 うまくいきました。 ありがとうございました!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1で既にご回答がありますが、 コードや方法を考え付く考え方として、下記があります。 ーー Book1を開く ツールーマクロー新しいマクロの記録ーMacro1-OK シートタブ部で右クリック 「移動またはコピー」を選ぶ (移動先ブック名)の▼をクリックして「新しいブック」を選ぶ。 「コピーを作成するにチェックを入れる。 OK Book2ができて、その中のSheet1がアクチブになっている。 ファイルー名前をつけて保存ー名前を指定してーOK 上記をしてマクロの記録を終了する。 マクロの記録は Sheets("Sheet1").Select Sheets("Sheet1").Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\xxx\My Documents\Sheet2あ.xls" (以下省略した) 上記処理のコードを、ブックの中にあるシートを順次捉える For Each Sh In Worksheets (上記処理) Next で処理を囲むコードにする。 各シートを捉えて、上記の処理を、シート全部について行うコードができる。 ーーー 新ブック名を変化させるのは、新ブック名を配列にでも入れるか、 ー>Bname(i)とでも指定すればよい Book1のSheet1のセルにでもいれて参照 ブック名.Worksheets("Sheet1").Cells(i,"K") すればよいと思う。 。

kenchandesu
質問者

お礼

返事が遅くなり申し訳ありませんでした。 うまくいきました。 ありがとうございました!

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

こんな感じでしょうか (⌒o⌒)? Sub TEST() Dim pth As String, st As Worksheet pth = ThisWorkbook.Path For Each st In ThisWorkbook.Worksheets st.Copy ActiveWorkbook.SaveAs Filename:=pth & "\" & st.Name & ".xls" ActiveWindow.Close (False) Next End Sub

kenchandesu
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 うまくできました!

kenchandesu
質問者

補足

早速のご回答ありがとうございます。 質問内容が不適切でしたので修正します。 それぞれ5つの別のBookに→それぞれ5つの別のフォルダーに Book名        →フォルダー名  元のBOOK1も、5つのBOOKも同じフォルダーに出来てしまいました。 あらかじめ作ってある5つの別のフォルダー(あ、い、う、え、お)に 5つの別のBookを作るようにお願いします。

関連するQ&A