
今回のテーマは「ExcelをPDFで保存する方法【VBAで自動化】ページ範囲もOK」です!
ほんとはページ指定で印刷マクロを作りたかったんですが、この令和時代に印刷って今どき時代遅れかな?と思い・・・
ページ指定でPDF保存マクロを作りました!
リボンに常駐させておけばあっという間に変換完了な便利ツールです。
お試しサンプルフォーマットも用意していますので一緒に作っていきましょう!
この記事ではマクロ(VBA)を使用します。
マクロ初挑戦の方はこちらの記事からスタートすることをお勧めします。
Excelのマクロ初期設定ガイド

今日のお品書きはこちら👇
1. マクロ:コード全文紹介
2. はじめに:こんな人に使ってほしい!
3. 便利に使うコツ:リボンに登録しよう
4. まとめ:これで作業効率爆上がり!
便利ツールの時は毎回一緒だな💦
じゃあジッピー、華々しく登場してちょうだい!

まっかせときなタスク〜!🌟
今回は「印刷をやめて、PDFでスマートに保存しよ!」ってテーマやから、ジッピーも気合バッチリやで〜🔥📄
🎙️ ジッピーの登場コメント

どうもどうも〜!
Excel界の便利屋ジッピーでございます〜!✨
今回お届けするのは……
📢 「ページ範囲を指定してPDFに一発保存できる」
超・実用派のExcelマクロです!
「この3ページだけPDFで送りたいんやけど!」
「出力したPDFが毎回上書きされて困るんやけど!」
──そんなモヤモヤに、ズバッと1本解決!
重複ファイル名自動調整付きの安心設計で、初心者さんも使いやすくなってます😎
ではでは、お品書きの順にじっくり見ていきましょう〜!

おぉ~~華々しいねぇ
じゃあジッピー、さっそく「1.マクロ:コード全文紹介」お願いできるかな?

いっちょ任されました〜!タスク、いくでぇ!🔥
🧠 1.マクロ:コード全文紹介

今回は「ページ範囲を指定してPDFに保存しつつ、
ファイル名の重複も自動で避けてくれる」超気配りマクロやで〜!
以下がその全貌です👇✨
Sub ページ指定でPDF保存_重複回避()
Dim StartPage As Variant
Dim EndPage As Variant
Dim FilePath As String
Dim BaseName As String
Dim i As Integer
' ▼ 開始ページの入力を求める
StartPage = InputBox("PDFにする開始ページ番号を入力してください", "ページ範囲指定", 1)
If Not IsNumeric(StartPage) Then Exit Sub ' 数字以外なら中断
' ▼ 終了ページの入力を求める
EndPage = InputBox("PDFにする終了ページ番号を入力してください", "ページ範囲指定", StartPage)
If Not IsNumeric(EndPage) Then Exit Sub
' ▼ 入力値の妥当性をチェック(1以上であること)
If Val(StartPage) <= 0 Or Val(EndPage) <= 0 Then
MsgBox "1以上の数字を入力してください", vbExclamation
Exit Sub
End If
' ▼ 開始ページが終了ページより大きい場合は中止
If Val(StartPage) > Val(EndPage) Then
MsgBox "開始ページは終了ページより小さくしてください", vbExclamation
Exit Sub
End If
' ▼ デスクトップに保存する初期パスを決定
BaseName = "出力ファイル"
FilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & BaseName & ".pdf"
i = 1
' ▼ 同じ名前のファイルがあれば「(1)」「(2)」と自動で付ける
Do While Dir(FilePath) <> ""
FilePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & _
BaseName & " (" & i & ").pdf"
i = i + 1
Loop
' ▼ PDFとしてエクスポート(保存&自動で開く)
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=FilePath, _
From:=Val(StartPage), _
To:=Val(EndPage), _
OpenAfterPublish:=True
' ▼ 保存完了メッセージ表示
MsgBox "PDFを保存しました!" & vbCrLf & FilePath, vbInformation
End Sub
💡ポイント解説
InputBox
でページ範囲を指定できるから、毎回柔軟に対応!- 数値チェックや入力ミス対策もバッチリ
- ファイル名が重複しないよう
(1)(2)
を自動でつけるやさしさ設計 - PDF保存後は自動で開くから確認もラクちん!
このマクロを1本持っとくだけで、
📄「印刷せずにPDF出力してメールで送る」
📄「毎回同じ資料を保存しておきたい」
📄「デスクトップが上書きでカオスにならない」
──そんなあらゆる状況を助けてくれる、まさに現代のスマート印刷術!

ジッピー、ありがとう
マクロを試してみるね
こんな見積書を並べただけですが、エクセルのシートに4ページ用意しました。


先ほどのコードをModule1に追加して実行ボタンを押してみます。


ページ範囲指定のインプットボックスが出てくるのでとりあえず2ページ目を指定してみます。


OKを押すと終了ページ指定のインプットボックスが出てくるのでここでは4ページ目を選択してみます。
そしてOKボタン👇


すると、PDFを保存しましたのメッセージとともにPDFのソフトが立ち上がりました。(わかりやすくる為に小さく表示させています)
結果は成功ですね!



保存先はデスクトップで出力ファイル.pdfというファイル名で保存されました。
そのままもう一度試してみると出力ファイル(1).pdfで保存され上書きされないようになっています。


ジッピー、OK大成功やで!
次、「2.はじめに:こんな人に使ってほしい!」にいこう!

バッチリやタスク!
図解のおかげで読者さんも**「なるほど、こう動くのか!」**ってスッと理解できるはずやで!
めっちゃいい感じの流れやから、この調子で「2.はじめに:こんな人に使ってほしい!」も盛り上げていこか✨
🧑🏫 2.はじめに:こんな人に使ってほしい!

このツールはこんなあなたにピッタリです👇
✅ 印刷せずにPDFで保存したい!
- 「とりあえず印刷してスキャンしてPDF化」はもう卒業。
- データで管理して共有したい人に超おすすめ!
✅ 毎回同じページだけPDFにしたい!
- 見積書の2〜4ページ目だけ出力したい…
- 頻繁に使うページだけを手軽にPDF化できる!
✅ ファイルの上書きミスに困ってる人!
- 毎回同じ「出力ファイル.pdf」が上書きされてしまう…
- このマクロなら**(1)(2)…と自動リネーム**してくれるから超安心!
✅ エクセルが苦手な後輩にもボタン一発で使わせたい!
- InputBoxで聞いてくれるから操作も簡単!
- マクロをボタンに登録しておけば誰でも使える仕組みに!
📌 一言でいうと…
手動操作の面倒くささと
ファイル保存のうっかり事故を
ぜ〜んぶ自動でやってくれるやさしさ設計✨

そだねぇ~
世はもうデジタル時代だもんね
それでもなかなかペーパーレスにはならないよね 💦なんでなんだ❓
次の「3.便利に使うコツ:リボンに登録しよう」いっとこ
図解も入れるからジッピーは簡単に説明しちゃって

うんうん、ほんまそれ。
「ペーパーレス化!」って声だけはデカいけど、なぜか紙が減らん不思議よね〜🧻笑
🧷 3.便利に使うコツ:リボンに登録しよう!

このマクロをもっと便利に使うなら、
毎回Alt+F11→実行なんてやってられへん!
そう、リボンにボタンとして登録しとくのがオススメや!
やり方ざっくり3ステップ
- 【ファイル】→【オプション】→【リボンのユーザー設定】を開く
- 【マクロ】から該当マクロを選んで、右の好きなタブに追加
- 必要ならアイコンもカスタムして見やすく!
📌こうしとけば、Excel立ち上げたときに
リボンのボタンひとつでPDF保存できる!
後輩にも「これ押すだけやで」ってドヤれる😎

あとはタスクが図解でわかりやす〜く仕上げてくれたら完璧や✨
スクショに「ここクリック!」って赤囲み入ってるだけでも一気に理解度上がるで!

ジッピー、説明サンキュー!
では図解いきます
まずお約束の(PERSONAL.XLSB)のModule1に先ほどのコードを貼り付けます


次は、リボンのユーザー設定を開いてコマンド選択をマクロに切り替えたら先ほどのページ指定でPDF保存を選択
ん~~印刷のグループにしようかな
選んで追加ボタン!


そして、名前が長いので短く編集してOK


すると神マクロシリーズの仲間入りができました!
これでいつでもどこでもこのマクロが使えるようになりました


ここでも👇くわしくリボン登録を説明していますので参考にしてください
※ 詳しくはリボン登録の記事こちら👇
【切り抜き】マクロをリボンに追加しよう!

ジッピー、こんな感じかなぁ?
じゃあ最後「4.まとめ:これで作業効率爆上がり!」で締めちゃおう!

おぉ〜〜〜完ッ璧やタスク!👏✨
図解と説明がビシッと決まってて、これ読んだ人「これ使わな損やん…」ってなること間違いなしやで!
🧾 4.まとめ:これで作業効率爆上がり!

紙で印刷するのが当たり前だった時代から、
今やPDFでスマートにやり取りするのがビジネスの新常識!
このマクロを使えば…
- 📄 ページ範囲を選んでPDF保存できる!
- 💾 ファイル名が自動で重複回避される!
- 🎯 リボンにボタン登録で誰でも簡単操作!
✨もう「印刷してスキャンしてメールに添付」なんて面倒なこと、
明日からはこの1クリックPDFマクロで全部解決や!!

神マクロシリーズにふさわしい超便利ツール、
ぜひあなたのExcelライフにも取り入れてみてくださいね!🌈
コメント