- 締切済み
マクロでシートを分ける
エクセル初心者です(簡単な表作成と四則計算程度)。 30シートある1つのファイル(シート名は1、2、3…30)を、それぞれ1シートずつ1つのファイルに分けて 30のファイルにしたいのですが、マクロを使うと簡単に分けられると聞きました。 どうやったらいいのでしょうか? 初心者には難しいでしょうか? 初心者にもできるようでしたら、わかりやすく説明していただけると助かります。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 シート名を全部同じにするなら、以下の部分のコメントブロックを外してください。 .ActiveSheet.Name = "Sheet1" ' シートの名前 また、ブック名は、ブックの先頭の名前とシートの順番で名前が付けられます。 '------------------------------------------- Sub TestShCopies() Dim sh As Worksheet Const WBNAME As String = "TEST" 'ブックの先頭の名前 For Each sh In ActiveWorkbook.Worksheets sh.Copy With ActiveWorkbook ' .ActiveSheet.Name = "Sheet1" ' シートの名前 'ブックの先頭の名前 + シートの順序 .SaveAs WBNAME & CStr(sh.Index) .Close False End With Next End Sub
- web2525
- ベストアンサー率42% (1219/2850)
もっと簡単にできるかもしれませんが、一応マクロで作ってみました。 Sub Application.DisplayAlerts = False コピー元 = ActiveWorkbook.Name ループ数 = Worksheets.Count For RP = 1 To ループ数 Workbooks.Add template:=xlWBATWorksheet コピー先 = ActiveWorkbook.Name Windows(コピー元).Activate Sheets(RP).Copy Before:=Workbooks(コピー先).Sheets(1) Worksheets("sheet1").Delete Next Application.DisplayAlerts = True End Sub 分割先のブックのシート名が数字の連番となっている事が前提ですが、このマクロでシートの数だけ別のブックが開きます。
- cafe_au_lait
- ベストアンサー率51% (143/276)
検索してみました。 マクロではなくアドインですが、 (5)Excelファイルにある各ワークシートをExcelファイルにします。 ということですので、希望の操作ができると思います。 設定方法はダウンロードしたファイルのヘルプにあるようです。 http://www.vector.co.jp/soft/win95/business/se342089.html