エクセルマクロで、特定シートをPDFで保存するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
シートをPDF保存(特定シート)
以下のExcelVBAを実行すると、特定のシートをPDF保存します。
Sub シートをPDF保存()
Sheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheets("Sheet1").Name & ".pdf"
End Sub
「Sheet1」シートをPDFで保存します。
ファイル名は「Sheet1.pdf」という名前で保存されます。
マクロコードで指定したシート(今回の場合は「Sheet1」シート)がファイル内に存在しなければ、
マクロの実行時エラーが発生します。
シートをPDF保存(特定シート)
以下のExcelVBAを実行すると、特定のシートをPDF保存します。
Sub 特定シートをPDF保存()
Dim i As Long
'すべてのシートをループ
For i = 1 To Sheets.Count
'シート名で条件分岐
If Sheets(i).Name = "Sheet3" Then
Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheets(i).Name & ".pdf"
Exit Sub
End If
Next i
End Sub
ファイル内のすべてのシート名をループして、特定シートがあった場合にPDFを作成します。
この場合は「Sheet3」シートをPDFで保存します。
作成されるPDFは、「Sheet3.pdf」というファイル名で保存されます。
作成されるPDFのファイル名は [Filename] にて、任意のファイル名をつけることができます。
シートをPDF保存(シートの色で判定)
以下のExcelVBAを実行すると、シート見出しの色で判定してPDF出力します。
Sub シート見出しの色で判定してPDF作成()
Dim i As Long
'すべてのシートをループ
For i = 1 To Sheets.Count
'シート色で条件分岐
If Sheets(i).Tab.Color = 65535 Then
Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheets(i).Name & ".pdf"
End If
Next i
End Sub
ファイル内のすべてのシートをループして、
特定のシート見出しの色があった場合にPDFを作成します。
今回の場合は、黄色のシートのみPDFで保存します。
シート見出しの色は [Tab.Color] にて判定します。
シートをPDF保存(特定文字を含むシート)
以下のExcelVBAを実行すると、特定の文字を含むシートをPDF出力します。
Sub 特定文字を含むシートをPDF出力()
Dim i As Long
Dim Target As String
Target = "PDF"
'すべてのシートをループ
For i = 1 To Sheets.Count
'シート名で条件分岐
If Sheets(i).Name Like "*" & Target & "*" Then
Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheets(i).Name & ".pdf"
End If
Next i
End Sub
ファイル内のすべてのシートをループして、
”PDF” という文字が含まれているシートのみ、PDFで保存します。
シートをPDF保存(アクティブシート)
以下のExcelVBAを実行すると、アクティブシートをPDF保存します。
Sub アクティブシートをPDF保存()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
End Sub
アクティブになっているシートをPDFで保存します。
作成するPDFのファイル名は、アクティブシートの名前で保存します。
下図の場合は、「Sheet2.pdf」というファイル名で保存します。
シートをPDF保存(一番左のシート)
以下のExcelVBAを実行すると、一番左のシートをPDF保存します。
Sub 一番左のシートをPDF保存()
Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheets(1).Name & ".pdf"
End Sub
ファイル内の一番左側にあるシートをPDFで保存します。
下図の場合は、「Sheet1.pdf」というファイル名で保存します。
マクロコードの最初にある [Sheets(1)] は、”一番左”を指しています。
シートをPDF保存(一番右のシート)
以下のExcelVBAを実行すると、一番右のシートをPDF保存します。
Sub 一番右のシートをPDF保存()
Sheets(Worksheets.Count).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheets(Worksheets.Count).Name & ".pdf"
End Sub
ファイル内の一番右側にあるシートをPDFで保存します。
下図の場合は、「Sheet3.pdf」というファイル名で保存します。
マクロコード内の [Sheets(Worksheets.Count)] は、”一番右”を指しています。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】PDF処理を自動化する使用例まとめ
「シンプルで一生使える現場直結のワザ大全 ExcelVBA 最高の教科書」
最強のワザ大全がついに登場!
全方位から「本気のVBA」を解説しています