
Excelで複数のシートを別々のPDFとして保存したいことはありませんか?
手作業で1シートずつ保存するのは手間ですが、マクロを使えばボタン1つで自動化できます。
- ボタンを押すだけで、すべてのシートを個別のPDFに変換する方法
- マクロ(VBA)の基本と準備
- ボタンを作成してマクロを登録する方法
VBA(マクロ)とは?
Excelの「マクロ」とは、一連の作業を自動化する機能です。
マクロを実行すると、手作業では面倒な処理も一瞬で完了できます。
今回のマクロを使えば、複数のシートを個別のPDFに自動保存できるので、業務効率が大幅にアップします。
マクロ(VBA)の準備
マクロを使うには、まず「開発」タブを表示し、VBAが実行できるように設定します。
- Excelを開き、「ファイル」→「オプション」→「リボンのユーザー設定」を開く
- 「開発」にチェックを入れて「OK」を押す
- 「開発」タブが表示される
VBAコード:ボタン1つでPDFにする
VBAコードの記述方法
以下の手順でマクロを登録します。
- 「Alt + F11」を押してVBAエディタを開く
- 「挿入」→「標準モジュール」を選択
- 以下のコードをコピーして貼り付ける
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のボタンを作成する手順
- 「開発」タブを開く
- 「挿入」→「フォームコントロール」→「ボタン」を選択
- シート上でドラッグしてボタンを配置
- 「マクロの登録」画面が出たら、「SaveSheetsAsPDF」を選択して「OK」
- ボタンに「PDF作成」と入力して完了
ボタンをクリックして実行
作成したボタンをクリックすると、すべてのシートが自動でPDFに変換されます!
【Q&A】マクロ初心者向けの疑問
Q: ボタンを押したのに動作しません…。
A: マクロが有効になっているか確認してください。「開発」タブ → 「マクロのセキュリティ」→「すべてのマクロを有効」に設定してください。
Q: PDFの保存先を変更できますか?
A: はい、コードのFolderPath
部分を好きなフォルダパスに変更してください。
まとめ
方法 | 特徴 |
---|---|
手動でPDF保存 | 簡単だが、複数シートの処理は面倒 |
VBAでボタンを作成 | ボタン1つで自動化、時間短縮 |
Excelのマクロ(VBA)を活用すれば、ボタン1つで複数シートを個別のPDFに変換できます!
初心者の方も、ぜひチャレンジしてみてください!
コメント