📘 Excel逆引き事典

【VBA】全てのシートを確認メッセージを出さずにPDF保存する方法

日々の業務で大量のデータを扱う際、各シートを個別に印刷やPDF保存するのは効率が悪いですよね?特に確認メッセージが出るたびに「キャンセル」を押すのはストレスです。そこで今回はVBAを使って、Excelの全シートを一括でPDF保存する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveAllSheetsAsPDF()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim filePath As String
    
    ' 確認メッセージを出さないように設定
    Application.DisplayAlerts = False
    
    Set wb = ThisWorkbook
    filePath = "C:\Users\YourUsername\Documents\AllSheets.pdf"
    
    ' 全てのシートをPDFとして保存
    wb.Sheets.ExportAsFixedFormat Type:=xlTypePDF, Filename:=filePath, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    
    Application.DisplayAlerts = True ' 確認メッセージの表示を元に戻す
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。また、ファイルパスにアクセス権があるかもチェックしましょう。