📘 Excel逆引き事典

【VBA】数式エラー(#N/A等)を含むデータも安全にPDF保存する方法

日々の業務で、Excelシートに#N/Aなどの数式エラーが発生した際、そのデータを安全に保存したいというニーズがあります。この記事では、数式エラーを含むデータも安心してPDFとして保存できるVBAマクロを作成する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub SaveSheetAsPDF()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("シート名")
    
    ' エラー処理の設定
    On Error GoTo ErrorHandler
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    ' PDF保存
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\path\to\your\file.pdf"
    
    ' ログ出力
    MsgBox "ファイルの保存が完了しました。", vbInformation
    
ExitHere:
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHere
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。