• 締切済み

マクロでシートを分ける

エクセル初心者です(簡単な表作成と四則計算程度)。 30シートある1つのファイル(シート名は1、2、3…30)を、それぞれ1シートずつ1つのファイルに分けて 30のファイルにしたいのですが、マクロを使うと簡単に分けられると聞きました。 どうやったらいいのでしょうか? 初心者には難しいでしょうか? 初心者にもできるようでしたら、わかりやすく説明していただけると助かります。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 シート名を全部同じにするなら、以下の部分のコメントブロックを外してください。   .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)
回答No.2

もっと簡単にできるかもしれませんが、一応マクロで作ってみました。 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 分割先のブックのシート名が数字の連番となっている事が前提ですが、このマクロでシートの数だけ別のブックが開きます。

回答No.1

検索してみました。 マクロではなくアドインですが、 (5)Excelファイルにある各ワークシートをExcelファイルにします。 ということですので、希望の操作ができると思います。 設定方法はダウンロードしたファイルのヘルプにあるようです。 http://www.vector.co.jp/soft/win95/business/se342089.html

参考URL:
http://www.vector.co.jp/soft/win95/business/se342089.html

関連するQ&A