エクセルの複数シートを別々にPDF化する方法|VBAマクロ

Excel 複数シート 自動PDF化

Excelで複数のシートを別々のPDFとして保存したいことはありませんか?
手作業で1シートずつ保存するのは手間ですが、マクロを使えばボタン1つで自動化できます。

  • ボタンを押すだけで、すべてのシートを個別のPDFに変換する方法
  • マクロ(VBA)の基本と準備
  • ボタンを作成してマクロを登録する方法

VBA(マクロ)とは?

Excelの「マクロ」とは、一連の作業を自動化する機能です。
マクロを実行すると、手作業では面倒な処理も一瞬で完了できます。

今回のマクロを使えば、複数のシートを個別のPDFに自動保存できるので、業務効率が大幅にアップします。

マクロ(VBA)の準備

マクロを使うには、まず「開発」タブを表示し、VBAが実行できるように設定します。

  1. Excelを開き、「ファイル」→「オプション」→「リボンのユーザー設定」を開く
  2. 「開発」にチェックを入れて「OK」を押す
  3. 「開発」タブが表示される

VBAコード:ボタン1つでPDFにする

VBAコードの記述方法

以下の手順でマクロを登録します。

  1. 「Alt + F11」を押してVBAエディタを開く
  2. 「挿入」→「標準モジュール」を選択
  3. 以下のコードをコピーして貼り付ける
Sub SaveSheetsAsPDF()
    Dim ws As Worksheet
    Dim FilePath As String
    Dim FolderPath As String
    
    ' PDFを保存するフォルダを指定(デスクトップに作成)
    FolderPath = Environ("USERPROFILE") & "\Desktop\Excel_PDF\"
    
    ' フォルダが存在しない場合は作成
    If Dir(FolderPath, vbDirectory) = "" Then MkDir FolderPath
    
    ' 各シートをPDFとして保存
    For Each ws In ThisWorkbook.Worksheets
        FilePath = FolderPath & ws.Name & ".pdf"
        ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FilePath, Quality:=xlQualityStandard
    Next ws
    
    MsgBox "すべてのシートをPDFとして保存しました!", vbInformation, "完了"
End Sub

コードのポイント

  • デスクトップに「Excel_PDF」フォルダを自動作成
  • 各シートを「シート名.pdf」として保存
  • 処理が完了するとメッセージを表示

マクロをボタンに登録する

Excelのボタンを作成する手順

  1. 「開発」タブを開く
  2. 「挿入」→「フォームコントロール」→「ボタン」を選択
  3. シート上でドラッグしてボタンを配置
  4. 「マクロの登録」画面が出たら、「SaveSheetsAsPDF」を選択して「OK」
  5. ボタンに「PDF作成」と入力して完了

ボタンをクリックして実行

作成したボタンをクリックすると、すべてのシートが自動でPDFに変換されます!

【Q&A】マクロ初心者向けの疑問

Q: ボタンを押したのに動作しません…。

A: マクロが有効になっているか確認してください。「開発」タブ → 「マクロのセキュリティ」→「すべてのマクロを有効」に設定してください。

Q: PDFの保存先を変更できますか?

A: はい、コードのFolderPath部分を好きなフォルダパスに変更してください。

まとめ

方法 特徴
手動でPDF保存 簡単だが、複数シートの処理は面倒
VBAでボタンを作成 ボタン1つで自動化、時間短縮

Excelのマクロ(VBA)を活用すれば、ボタン1つで複数シートを個別のPDFに変換できます!
初心者の方も、ぜひチャレンジしてみてください!

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました