今治Excel教室|第12回レポート 簡単な請求書作成とExcel操作の習得(PDF出力をマクロでボタン1つに)
- yuji fukami
- 12 分前
- 読了時間: 9分
前回の【第11回】では、Excelで作成した請求書を、より実務で使いやすい形に整えました。
具体的には、単位のドロップダウンリスト、小計、消費税、税込合計、印刷範囲の設定などを行い、請求書として実際に使いやすい形に仕上げました。
今回はその続きとして、作成した請求書をPDFとして出力する仕組みを作成しました。
請求書はExcelのまま渡すのではなく、PDF化して取引先へ送ることも多くあります。
ただし、毎回手動でPDF出力を行い、ファイル名を入力し、保存先を選ぶのは手間がかかります。
そこで今回は、マクロを使って、ボタン1つでPDFを自動出力できる仕組みを作成しました。
また、マクロのコード作成にはChatGPTも活用し、AIを使いながらExcel作業を自動化する流れも確認しました。
この記事では、第12回の講習内容を振り返りながら、請求書をPDF化し、業務ツールとして使いやすくしていく流れをまとめます。
動画での解説はこちら
本篇
補足説明
今回の動画では、前回までに作成した請求書をもとに、PDF出力の基本操作から、マクロを使った自動化、ボタンによる実行、さらにマクロ有効ブックとして保存する際の注意点まで解説しています。
今回のゴール
今回のゴールは、前回までに作成した請求書を、以下のような形でPDF出力できるようにすることです。
請求書をPDFとして出力できるようにする
手動でPDF出力する基本操作を確認する
毎回ファイル名を入力する手間を減らす
請求書名、宛先、日付をもとにファイル名を自動作成する
ChatGPTを使ってPDF出力用のVBAコードを作成する
マクロをボタンに登録し、クリックだけで実行できるようにする
作成したマクロを消さないように、xlsm形式で保存する
単にPDFを出力するだけではなく、毎回の作業を減らし、入力ミスや保存ミスを防ぐ仕組みを作ることを目指します。
1. PDF出力の基本を確認する
まずは、ExcelからPDFを出力する基本操作を確認しました。
Excelでは、印刷画面からPDFとして出力することができます。
今回確認した流れは以下の通りです。
Ctrl + Pで印刷画面を開く
プリンターとして「Microsoft Print to PDF」を選択する
印刷範囲を確認する
印刷を実行する
保存先とファイル名を指定する
PDFファイルとして保存する
この方法を使えば、Excelで作成した請求書をPDFとして出力できます。
請求書は、相手に渡す書類として扱うことが多いため、Excelファイルのままではなく、PDFにして送る場面も多くあります。
PDFにすることで、相手の環境でも見た目が崩れにくく、印刷や共有もしやすくなります。
2. 手動でPDF出力する場合の問題点
手動でもPDF出力はできますが、実務で毎回行うとなると手間がかかります。
例えば、請求書を出力するたびに、以下のような作業が必要になります。
印刷画面を開く
PDF出力を選ぶ
保存先を選択する
ファイル名を入力する
保存ボタンを押す
この作業を毎回行うと、時間がかかるだけでなく、入力ミスも発生しやすくなります。
特にファイル名は、請求先名や日付を含めて管理することが多いため、手入力にすると表記ゆれが起きやすくなります。
例えば、同じ会社名でも、全角スペース、半角スペース、株式会社の有無などによって、ファイル名がバラバラになることがあります。
このような小さなブレが積み重なると、後からファイルを探しにくくなったり、管理しづらくなったりします。
そこで今回は、このPDF出力作業を自動化することにしました。
3. ボタン1つでPDF出力する仕組みを作る
今回の解決策は、マクロを使ってPDF出力を自動化することです。
完成形としては、シート上に配置した「PDF出力」ボタンをクリックすると、自動でPDFファイルが作成されるようにします。
この仕組みによって、次のような状態を目指します。
ボタンを押すだけでPDFが出力される
ファイル名が自動で設定される
保存先が自動で決まる
毎回の手入力が不要になる
表記ゆれや入力ミスを減らせる
Excelは、表を作ったり計算したりするだけでなく、このようにマクロを使うことで、作業そのものを自動化できます。
今回の内容は、Excelを「表計算ソフト」として使うだけでなく、「業務ツール」として使うための第一歩になります。
4. PDFファイル名をセル上で作成する
マクロを作る前に、まずPDFファイル名の設計を行いました。
今回のファイル名は、以下の情報をもとに作成します。
請求書
宛先名
日付
例えば、次のようなファイル名になるイメージです。
請求書_株式会社〇〇_20260315
このファイル名を、VBAコードの中に直接書くのではなく、Excelのセル上で作成するようにしました。
このようにしておくことで、請求先や日付が変わった場合でも、セルの値が変わればファイル名も自動で変わります。
実務では、コードの中に固定の文字をたくさん書くよりも、シート上で設定できる形にしておく方が扱いやすくなります。
5. 日付を8桁の文字列に変換する
請求書の日付をファイル名に使う場合、そのままセルを参照すると、日付が意図しない数字になることがあります。
これは、Excelが日付をシリアル値として管理しているためです。
そこで今回は、TEXT関数を使って、日付を8桁の文字列に変換しました。
使用した考え方は以下の通りです。
年は yyyy
月は mm
日は dd
この形式にすることで、2026年3月15日であれば、20260315 のような形に変換できます。
ファイル名に日付を入れる場合は、このように8桁で統一しておくと、後から並べ替えや管理がしやすくなります。
6. 開発タブを表示してVBEを開く
マクロを作成するには、Excelの「開発」タブを使います。
ただし、Excelの初期状態では、開発タブが表示されていないことがあります。
その場合は、以下の流れで表示します。
ファイルを開く
オプションを開く
リボンのユーザー設定を開く
「開発」にチェックを入れる
OKを押す
開発タブが表示されたら、「Visual Basic」をクリックして、VBEを開きます。
VBEとは、VBAのコードを書くための画面です。
今回の講習では、VBEを開いた後、標準モジュールを追加し、その中にPDF出力用のコードを記述しました。
7. ChatGPTを使ってVBAコードを作成する
今回の大きなポイントは、VBAコードを一から自分で書くのではなく、ChatGPTを使って作成したことです。
PDF出力のマクロを自力で作ろうとすると、保存先の指定、ファイル名の指定、PDF出力処理などを調べる必要があります。
しかし、やりたいことを具体的に説明すれば、ChatGPTにコードを作成してもらうことができます。
今回伝えた内容は、主に以下のような内容です。
ExcelシートをPDFとして出力したい
印刷設定は現在のシートの設定を使いたい
ファイル名はシート上の特定セルを参照したい
保存先は、このExcelファイルと同じフォルダにしたい
このように、目的、入力情報、出力先を具体的に伝えることで、実際に使えるVBAコードを作成しやすくなります。
AIを使う場合は、単に「PDF出力のコードを書いて」と依頼するよりも、どのセルを使うのか、どこに保存するのか、どのシートを対象にするのかを具体的に伝えることが大切です。
8. 作成したマクロを実行して確認する
ChatGPTで作成したコードを標準モジュールに貼り付けたら、実際に実行して確認します。
今回の確認では、以下の点を見ました。
エラーなく実行できるか
PDFファイルが作成されるか
保存先が正しいか
ファイル名がセルの値どおりになっているか
日付や宛先を変えたときにファイル名も変わるか
実際に、請求先名や日付を変更すると、それに合わせてPDFのファイル名も変わることを確認しました。
これにより、毎回手作業でファイル名を入力しなくても、請求書の内容に応じたPDFファイルを作成できるようになります。
9. ボタンにマクロを登録する
マクロはVBE上から実行できますが、毎回VBEを開いて実行するのは手間です。
そこで、シート上にボタンを配置し、そのボタンにマクロを登録しました。
ボタンを作成する流れは以下の通りです。
開発タブを開く
挿入からボタンを選択する
シート上にボタンを配置する
登録するマクロを選択する
ボタン名を「PDF出力」などに変更する
これで、ボタンをクリックするだけで、PDF出力のマクロが実行されるようになります。
利用者から見ると、コードの中身を意識しなくても、ボタンを押すだけで処理を実行できます。
このように、マクロとボタンを組み合わせることで、Excelをより実務向けのツールとして使いやすくできます。
10. マクロ有効ブックとして保存する
最後に、今回とても重要な補足として、保存形式について確認しました。
Excelには、マクロを保存できる形式と、保存できない形式があります。
通常のExcelブックは、拡張子が xlsx です。
しかし、xlsx形式ではマクロを保存できません。
そのため、マクロを作成した状態でxlsx形式のまま保存すると、せっかく作成したマクロが消えてしまいます。
マクロを残したい場合は、必ず以下の形式で保存する必要があります。
xlsm形式
これは、マクロ有効ブックと呼ばれる形式です。
今回作成したようなPDF出力ボタン付きの請求書を今後も使いたい場合は、名前を付けて保存から、ファイルの種類を「Excel マクロ有効ブック」に変更して保存します。
この保存形式を間違えると、ボタンは残っていても、中のマクロが消えて実行できなくなる場合があります。
マクロを使うExcelファイルでは、xlsxではなくxlsmで保存することを必ず覚えておく必要があります。
11. 今回のまとめ
第12回では、前回までに作成した請求書を、PDFとして自動出力できるようにしました。
今回の主な内容は以下の通りです。
PDF出力の基本操作を確認した
Microsoft Print to PDFを使った手動出力を確認した
手動でPDF出力する場合の手間やミスを確認した
PDFファイル名をセル上で作成した
日付をTEXT関数で8桁の文字列に変換した
開発タブを表示した
VBEを開いて標準モジュールを追加した
ChatGPTを使ってVBAコードを作成した
作成したコードでPDF出力を実行した
ボタンにマクロを登録した
xlsm形式で保存する必要があることを確認した
今回の内容は、Excelを「入力するだけの表」から「作業を自動化する業務ツール」へ発展させる重要なステップです。
請求書や見積書のような帳票では、作成後にPDFとして保存したり、取引先へ送付したりする作業が発生します。
その作業を毎回手動で行うのではなく、ボタン1つで実行できるようにしておくことで、作業時間を短縮し、ミスを減らすことができます。
また、今回はChatGPTを使ってVBAコードを作成する流れも確認しました。
AIを活用することで、VBAをまだ深く学んでいない段階でも、目的を整理して伝えることで、自動化の仕組みを作ることができます。
Excelで帳票を作るときは、見た目や計算だけでなく、出力、保存、管理まで含めて考えることが大切です。
今回の内容を覚えておくと、請求書だけでなく、見積書、納品書、報告書、作業日誌など、さまざまなExcel帳票のPDF出力自動化に応用できます。


