【エクセルマクロ】指定範囲をPDF保存する:2選(動画あり)

VBA-指定範囲をPDF保存-アイキャッチ ExcelVBA

エクセルマクロで、指定セル範囲をPDF出力するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

指定範囲をPDF保存(特定シート)

以下のマクロを実行すると、特定のセル範囲をPDFで保存します。


Sub 指定範囲をPDF保存()

Dim Rng As Range
Dim fName As String

    'PDFにするシートを選択
    Sheets("リスト1").Select
    
    'PDFにする範囲を指定
    Set Rng = ActiveSheet.Range(Cells(1, 1), Cells(10, 3))
    
    'PDFファイル名
    fName = "PDFだよ"

    'PDF出力
    Rng.ExportAsFixedFormat Type:=xlTypePDF, _
    FileName:=ActiveWorkbook.Path & "\" & fName & ".pdf"

End Sub

マクロ実行前

セル範囲A1:C10を、PDF出力したいと思います。


 

マクロ実行後

指定シートの特定範囲をPDF出力しました。


 

PDFファイルの中身は下図の通りです。


 

指定範囲をPDF保存(全シート)

以下のマクロを実行すると、全シートの指定範囲をPDFで保存します。


Sub 全てのシートの指定セル範囲をPDF保存()

Dim Rng As Range
Dim fName As String
Dim objSheet As Worksheet
    
    '全シートループ
    For Each objSheet In ThisWorkbook.Worksheets
    
        'シートが非表示じゃなければ
        If objSheet.Visible = True Then
    
            objSheet.Select
        
            'PDFにする範囲を指定
            Set Rng = objSheet.Range(Cells(1, 1), Cells(10, 3))
            
            '各シート名をPDFファイル名にする
            fName = objSheet.Name
        
            'PDF出力
            Rng.ExportAsFixedFormat Type:=xlTypePDF, _
            FileName:=ActiveWorkbook.Path & "\" & fName & ".pdf"
        End If
    Next

End Sub

マクロ実行前

すべてのシートのセル範囲A1:C10を、PDF出力したいと思います。


 

マクロ実行後

指定シートの特定範囲をPDF出力しました。


 

PDFファイルの中身は下図の通りです。


 

※非表示シートがあると、マクロエラーとなってしまうため、

 [If objSheet.Visible = True Then] を入れて、エラー回避しています。
 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】PDF処理を自動化する使用例まとめ
 

【エクセルマクロ】PDF処理を自動化:超便利14選
...

 

「Excel最強集計術 〜現場で効率アップできる本当に正しい使い方」
もっとスピーディに効率よく集計をしたい方
Excelでもっと効率アップしたい方には必携の1冊です!