dポイントプレゼントキャンペーン実施中!

エクセルの1つのブックに複数の名前がついたシートがあり、その各シート毎にシート名のブックに分割したいのです。
シートが少なければ手作業で分割するのですが、100枚近くのシートがあるので、できればマクロで一括処理できれば助かるのですが。
過去ログで複数のブックのシートを一つのブックにまとめる事例がありましたので、その逆もできると思うのですが。
よろしくお願いします。

A 回答 (2件)

こんばんは。



こんな感じで如何でしょうか?

Sub splitBook()

Const path As String = "C:\" '\まで記述

Dim bk As Workbook
Set bk = ActiveWorkbook

Dim st As Worksheet
For Each st In bk.Sheets

Workbooks.Add
st.Copy Before:=ActiveWorkbook.Sheets(1)
ActiveWorkbook.SaveAs path & st.Name & ".xls"
ActiveWorkbook.Close

Next

End Sub
    • good
    • 8
この回答へのお礼

これで完璧です
しかしよくこんな簡潔なコードで出来るものですね
自分でも書けるように勉強します
ありがとうございました

お礼日時:2007/06/14 22:53
    • good
    • 0
この回答へのお礼

お礼が大変遅くなってすみません
残念ながら、↑のサイトは会社でブロックされて見る事が出来ません
↓の方で解決つきました。
ありがとうございました

お礼日時:2007/07/02 19:12

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