【VBA】非表示シートを完全一致でPDF保存する方法
日々の業務では、大量のデータを扱うことが多いでしょう。その中でも、特定の条件(例えばシート名が完全一致)に合致する非表示シートだけをPDFで保存したい場合があります。この記事では、VBAを使用してそんなニーズに対応する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub SaveSheetAsPDF()
Dim ws As Worksheet
Dim sheetName As String
Dim filePath As String
' 非表示シートの名前を指定
sheetName = "完全一致するシート名"
' 保存先パスを指定
filePath = ThisWorkbook.Path & Application.PathSeparator & sheetName & ".pdf"
' シートが存在するか確認
On Error Resume Next
Set ws = ThisWorkbook.Sheets(sheetName)
If ws Is Nothing Then Exit Sub
On Error GoTo 0
' ディスプレイ更新を停止して高速化
Application.ScreenUpdating = False
' 非表示にする
ws.Visible = xlSheetVisible
' PDF保存
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=filePath
' 元に戻す
ws.Visible = xlSheetHidden
' ディスプレイ更新を再開
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。