【VBA】可視セル(フィルタ結果)をエラー処理付きでPDF保存する方法
毎回フィルタ結果だけを印刷するのは手間がかかるですよね。この記事では、可視セルのみをPDFに保存するVBAマクロを作成し、エラー処理も含めて解説します。効率的な業務遂行のためにぜひお試しください。
サンプルコード
VBA
Option Explicit
Sub SaveVisibleCellsAsPDF()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' フィルタ結果を含むシート名に変更してください。
Application.ScreenUpdating = False
On Error GoTo ErrorHandler
With ws.PageSetup
.PrintArea = ws.Range("A1:Z" & LastRow(ws)).SpecialCells(xlCellTypeVisible).Address ' 可視セルの範囲を設定します。
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.FirstPageNumber = xlStartingWithFirstPage
End With
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\path\to\your\file.pdf", Quality:=xlQualityStandard ' PDF保存先のパスを指定してください。
ErrorHandler:
If Err.Number <> 0 Then MsgBox "エラーが発生しました。" & vbCrLf & "エラーコード: " & Err.Number & vbCrLf & "メッセージ: " & Err.Description
Application.ScreenUpdating = True
End Sub
Function LastRow(ws As Worksheet) As Long
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' 最終行を取得します。
End Functionよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。