【エクセルマクロ】PDF出力時にファイル名をシート名から取得:コピペで使えるコード

VBA-PDFのファイル名をシート名から取得して保存-アイキャッチ ExcelVBA

エクセルマクロで、PDF出力時にファイル名にシート名を使用するVBAコードをご紹介します。

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

PDF出力時にファイル名をシート名から取得

以下のマクロを実行すると、PDF保存時にシート名をファイル名に使用します。


Sub PDF出力時にファイル名をシートから取得()

Dim TargetName As String

    'ファイル名にするシート名を変数格納
    TargetName = ActiveSheet.Name

    'PDF保存
    Sheets(TargetName).ExportAsFixedFormat Type:=xlTypePDF, _
    FileName:=ActiveWorkbook.Path & "\" & TargetName & ".pdf"

    MsgBox "完了"

End Sub

 

マクロ実行後

アクティブシート名を取得して、ファイル名に利用します。


 

[TargetName = ActiveSheet.Name] にて、シート名を変数に格納します。

PDFファイルを保存する際に、[TargetName] を使ってファイル名を指定します。


 

PDF出力時にファイル名をシート名から取得(1番左のシート)

以下のマクロを実行すると、PDF保存時にシート名をファイル名に使用します。


Sub PDF出力時にファイル名をシートから取得()

Dim TargetName As String

    'ファイル名にするシートを変数格納
    TargetName = Worksheets(Worksheets.Count).Name

    'PDF出力
    Sheets(TargetName).ExportAsFixedFormat Type:=xlTypePDF, _
    FileName:=ActiveWorkbook.Path & "\" & TargetName & ".pdf"

    MsgBox "完了"

End Sub

 

マクロ実行後

一番右の「リスト3」シートをPDFファイルにして、

ファイル名をシート名から取得します。


 

「リスト3.pdf」を自動作成できました。


 

PDF出力時にファイル名をシート名から取得(全シート)

以下のマクロを実行すると、PDF保存時にシート名をファイル名に使用します。


Sub PDF出力時にファイル名をシートから取得()

Dim TargetName As String
Dim WS As Worksheet

    For Each WS In Worksheets

        'ファイル名にするシート名を変数へ格納
        TargetName = WS.Name
    
         '名前をつけて保存
        Application.DisplayAlerts = False
        
            WS.Select
            WS.ExportAsFixedFormat Type:=xlTypePDF, _
            FileName:=ActiveWorkbook.Path & "\" & TargetName & ".pdf"
        
        Application.DisplayAlerts = True
    
    Next WS
    
    MsgBox "完了"

End Sub

 

マクロ実行後

すべてのシートを、それぞれ1つのPDFファイルで保存します。


 

ファイル名をシート名から付けることができました。


 

 
この記事がお役に立ちますと幸いです。
 

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

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載