📘 Excel逆引き事典

【VBA】開いている全ブックを確認メッセージを出さずに別ブックとして保存する方法

日々の業務で開いているExcelファイルが増えると、それぞれを個別に保存するのが面倒になります。特に確認メッセージが出るたびに「はい」をクリックするのは効率的ではありません。この記事ではVBAを使用して開いている全てのワークブックを自動的に別ファイルとして保存し、確認メッセージを表示させない方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveAllBooksAsNewFiles()
    Dim wb As Workbook, newWb As Workbook
    Application.DisplayAlerts = False ' 確認メッセージを非表示にする
    For Each wb In Workbooks
        If Not wb.Name Like "Book*.xls*" Then ' 既存のブックのみ処理
            wb.SaveAs ThisWorkbook.Path & "\" & wb.Name, FileFormat:=xlOpenXMLWorkbook ' 新しいファイル名で保存
        End If
    Next wb
    Application.DisplayAlerts = True ' 確認メッセージを再表示する
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。また、保存先ディレクトリの権限があるかも確認してください。