エクセルマクロで、複数シートを1つのPDFで保存するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
複数シートを1つのPDFで出力
以下のマクロを実行すると、2つのシートを1つのPDFで出力します。
Sub 複数シートを1つのPDFで出力()
Dim Target1 As String
Dim Target2 As String
Dim FileName As String
'PDFにするシート名を変数代入
Target1 = Sheets(1).Name
Target2 = Sheets(3).Name
'ファイル名
FileName = "PDFだよ"
'複数シートを選択状態にする
Sheets(Array(Target1, Target2)).Select
'PDF作成
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=ActiveWorkbook.Path & "\" & FileName & ".pdf"
Sheets(1).Select
End Sub
マクロ実行後
変数[Target1] と 変数[Target2] で指定したシートを、1つのPDFで保存します。
作成後のPDFファイルと、中身です。
複数シートを1つのPDFで出力(配列使用)
以下のマクロを実行すると、配列を使って3つシート以上を1つのPDFで出力します。
Sub 配列を使って複数シートを1つのPDFで出力()
Dim Target(2) As Variant
Dim MySht(2) As Variant
Dim FileName As String
Dim i As Long
'ファイル名
FileName = "PDFだよ"
'PDFにするシート名を配列代入
Target(0) = "リスト1"
Target(1) = "リスト2"
Target(2) = "リスト4"
For i = 0 To UBound(Target)
MySht(i) = Target(i)
Next i
'複数シートを選択状態にする
Sheets(MySht).Select
'PDF作成
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=ActiveWorkbook.Path & "\" & FileName & ".pdf"
Sheets(1).Select
End Sub
マクロ実行後
配列[Target] で指定した3シートを、1つのPDFで保存します。
作成後のPDFファイルと、中身です。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】PDF処理を自動化する使用例まとめ
【エクセルマクロ】PDF処理を自動化:超便利14選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク