LoginSignup
0
0

Excel VBAでシート単位に別ファイルにしたい

Posted at

1. はじめに

  • Excelのブックにあるシート単位にファイルを分割したい
  • Excel VBAで一括でファイル名をシート名で自動保存したい

2. 開発環境

  • Excel

3. Excelマクロの作成

3.1. 開発 > Visual Basicを選択する

スクリーンショット 2023-08-03 20.23.41.png

  • 開発タブが表示されていない場合、リボンとツールバーで開発にチェックを入れる
    image.png

3.2. プロジェクトを右クリックして、標準モジュールを選択する

image.png

3.3. Excel VBAマクロを記述する

image.png

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("C6") & "_" & shObj.Name & ".xlsx"
        
        '新しいブックを名前を指定して保存する
        newBook.SaveAs folderParent & newBookName
        
        '新しいブックを閉じる
        newBook.Close
    
    Next shObj
End Sub

3.4. Excelマクロを保存して、マクロを実行する

4. 参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0