📘 Excel逆引き事典

【VBA】非表示シートをバックグラウンドでPDF保存する方法

日々の業務の中で、複数のシートを持つExcelファイルから特定の非表示シートだけをPDFに保存したいことがありますよね?手作業だと時間がかかる上にミスも増えます。この記事では、VBAを使って簡単にバックグラウンドで指定した非表示シートをPDFとして保存する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveHiddenSheetAsPDF()
    Dim ws As Worksheet
    Dim pdfPath As String
    
    ' 非表示のシート名を指定
    Set ws = ThisWorkbook.Sheets("非表示シート")
    
    ' PDF保存先パスを設定(適宜変更してください)
    pdfPath = "C:\Users\ユーザー名\Documents\非表示シート.pdf"
    
    ' 画面更新停止
    Application.ScreenUpdating = False
    
    ' 警告オフ
    With ws.Parent
        .DisplayAlerts = False
        .Sheets(Array(ws.Name)).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        .DisplayAlerts = True
    End With
    
    ' 画面更新再開
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。また、保存先パスにアクセス権があるかも確認してください。