コピペOK【EXCELマクロ】複数シートそれぞれブックに一括変換 | 【自分に向いている仕事】を見つける方法

コピペOK【EXCELマクロ】複数シートそれぞれブックに一括変換

スポンサーリンク
AD

EXCELに入っている複数シートを1つずつ「ブック」に自動で変換するマクロを説明します。

VBAで操作する内容(手順)です。

  1. 画面更新を停止する。
  2. 元のブックを設定。
  3. 各シートを新しいブックにコピー。
  4. 新しいブックを保存。
  5. 新しいブックを閉じる。
  6. 画面更新を再開する。

以下、コピペで使えるコードを紹介します。

スポンサーリンク

EXCELの複数シートを、それぞれ別のブックで保存したい時のVBA

EXCELで作った複数のシートを、それぞれ別のブックで保存したい時のマクロを紹介します。

EXCEL VBA 複数シートをそれぞれブックに一括変換

以下は、元のブックにはシートを残したまま、複数シートそれぞれのブックを作成するコードです。

'EXCELの複数シートを、それぞれ別のブックで保存したい時のVBA

Sub ExportSheetsToNewWorkbooks()
    Dim ws As Worksheet
    Dim newBook As Workbook
    Dim originalBook As Workbook
    Dim savePath As String
    
    ' 保存するフォルダのパスを指定
    savePath = "C:\YourFolderPath\" ' ここにフォルダパスを入力
    
    ' 画面更新をオフにする
    Application.ScreenUpdating = False

    ' 元のブックを設定
    Set originalBook = ThisWorkbook
    
    ' 各ワークシートを新しいブックとして保存
    For Each ws In originalBook.Worksheets
        ' 新しいブックを作成
        Set newBook = Workbooks.Add
        
        ' 元のシートを新しいブックにコピー
        ws.Copy Before:=newBook.Sheets(1)
        
        ' 新しいブックを保存
        newBook.SaveAs Filename:=savePath & ws.Name & ".xlsx"
        ' 新しいブックを閉じる
        newBook.Close SaveChanges:=False
    Next ws
    
    ' 画面更新をオンにする
    Application.ScreenUpdating = True
    
    MsgBox "全てのシートを新しいブックとして保存しました。", vbInformation
End Sub

上記のコードをコピーして、VBE(Visual Basic エディタ)の標準モジュールに貼り付けます。

「保存するフォルダのパスを指定」の部分は、あなたのPC環境に合わせて変更する必要があります。

    ' 保存するフォルダのパスを指定
    savePath = "C:\YourFolderPath\" ' ここにフォルダパスを入力

保存したいフォルダの上で、「右クリック」→「パスのコピー」をして、コードの「”C:\YourFolderPath\”」の部分に貼り付けします。

パスの最後に、半角で「¥」マークを付けます。(PCのキーボードで『ろ』のキーを打ちます。)

今回は仮に、「複数シートをブックに一括変換」という名前のフォルダを作って、変換したいEXCELも一緒に入れておきます。

マクロを実行すると、以下のように指定したフォルダの中に、複数シートがそれぞれブックに変換された状態で保存されます。

今回のコードでは、元のブックに複数シートが残った状態となります。必要に応じてシートを削除してください。

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