エクセルのシート毎にブックを作成する方法について

スポンサーリンク

PR

EXCEL

ひとつのエクセルブックに複数シートがありシート毎に新たなブックに保存するやり方を説明します。

スポンサーリンク

VBAを使ってシート毎にブックを作成する

取引先一覧(まとめ).xlsmにはA社、B社、C社、D社の4つのシートがあります。

 

取引先一覧(まとめ).xlsm

 

VBAを使って以下のように新たなブックを作成します。

取引先一覧(A社).xlsx

取引先一覧(B社).xlsx

取引先一覧(C社).xlsx

取引先一覧(D社).xlsx

 

スポンサーリンク

VBAのコーディング例

Sub sheets_save()
‘シートを新たなブックで保存する

Dim bookname As String
Dim newbookname As String
Dim sheetname As String
Dim シート As Variant

‘ブック名を取得して変数booknameへ入れる
bookname = ActiveWorkbook.Name

‘ブック名の拡張子を取り除く
bookname = Replace(bookname, “.xlsm”, “”)

‘シートの数だけ繰り返す
For Each シート In Worksheets
シート.Copy
sheetname = シート.Name
newbookname = Replace(bookname, “まとめ”, sheetname)

‘新規ブックを保存する
ActiveWorkbook.SaveAs ThisWorkbook.Path & “\” & newbookname
‘新規ブックを閉じる
ActiveWorkbook.Close

Next シート
End Sub

 

マクロの実行結果

 

まとめ

エクセルのシートを分割して新たなブックを作成する方法でした。

シートは何シートあっても自動的に作成してくれます。

記事のマクロは自由に使われて構いません。

仕事の効率化に役立てば幸いです。

 

 

 

 

コメント

タイトルとURLをコピーしました