1. はじめに
- Excelファイルをシート別に分割してExceelファイルに保存したい
- Excel VBAで一括で処理したい
2. 開発環境
- Excel for Microsoft 365 (バージョン:2304)
- Excel VBA
3. 事前準備
4. Excelマクロ
Module1.bas
'Excelマクロ
Sub SaveSheet()
Dim shObj As Worksheet
Dim newBook As Workbook
Dim newBookName As String
Dim folderParent As String
'シートの保存先
folderParent = ThisWorkbook.Path & "\"
'ワークシート分
For Each shObj In Worksheets
'シートを新しいブックにコピー
shObj.Copy
'移動先のブック
Set newBook = ActiveWorkbook
'シート名
newBookName = newBook.ActiveSheet.Range("A1") & "_" & shObj.Name & ".xlsx"
'新しいブックを名前を保存
newBook.SaveAs folderParent & newBookName
'新しいブックを閉じる
newBook.Close
Next shObj
End Sub
5. 動作確認
5.1. サンプルExcelファイル
5.2. Excelマクロ実行
5.3. 実行結果
6. 参考文献