Excel Hack

エクセルのシートごとに分けてPDF化する方法

エクセルで「シート1.pdf」「シート2.pdf」のようなシートごとに分かれたPDFを作成したい場合、手作業で1枚1枚PDFに変換するのは非効率的です。

ここでは、エクセルのVBAを使ってシートごとにPDF化する方法をご紹介します。

コピーしてすぐに使えるVBAコードも用意しましたので、コピー&ペーストの簡単な作業で各シートを自動的にPDF化することができます。

本記事をPDFとして無料ダウンロード

PDF

本記事をPDFで無料ダウンロードいただけます。

タブレットでPDFを再生したり紙に印刷することで、いつでも記事の内容を確認できます。

開発タブを表示する

開発タブ

エクセルでVBAを使用するときは、上の画像のような「開発」タブを表示させる必要があります。

開発タブは他のホームタブや挿入タブとは違い、初期設定では表示されていません。

エクセルで開発タブを表示させる方法は、以下の通りです。

ファイルタブを選択する

ファイルタブを選択します。

オプションを選択する

オプションを選択します。

開発にチェックを入れる

「Excel のオプション」ダイアログボックスが表示されます。

リボンのユーザー設定を選択し、画面右側の「開発」にチェックを入れ、OKボタンを押します。

開発タブが表示された

これで開発タブが表示されました。

シートごとにPDF化するVBAコード

エクセルでシートごとにPDF化するVBAコードは、以下の通りです。

Sub シートごとにPDF化()

Dim Sheet As Worksheet

For Each Sheet In ThisWorkbook.Worksheets

Sheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ActiveWorkbook.Path & "\" & Sheet.Name, _
Quality:=xlQualityStandard, _
OpenAfterPublish:=True

Next

End Sub

このコードは、「操作中のエクセルファイルがある場所に、各シートのPDFを保存する」というものです。

例えば、「シート1/シート2」を「シート1.pdf」「シート2.pdf」というように分けてPDF化したい場合、このコードが役に立ちます。

コードの詳細については、以下の表をご覧ください。項目ごとに分けて解説しています。

項目説明
ExportAsFixedFormatエクセルのデータをPDFまたはXPS形式で出力するために使用する
Type出力形式
xlTypePDF:PDF形式で出力
Filename出力ファイルの保存先とファイル名
ActiveWorkbook.Path:操作中のエクセルファイルがある場所に保存
Sheet.Name:シート名をファイル名にする(例:シート1→シート1.pdf)
Quality画質
xlQualityStandard:標準
xlQualityMinimum:最小
OpenAfterPublish出力後、ファイルのプレビューを表示するか
True:表示する
False:表示しない

以下の「エクセルのシートごとに分けてPDF化する方法」セクションでは、実際にご紹介したVBAコードを使用して、シートごとにPDF化する方法を説明します。

エクセルのシートごとに分けてPDF化する方法

エクセルのVBAを使って、シートごとに分けてPDF化する方法をご紹介します。

作業時間:4分

ファイルタブを選択する

ファイルタブを選択する

今回使用するVBAコードは「操作中のエクセルファイルが保存されている場所」に、各シートのPDFを保存するものです。そのため、VBAを起動する前にエクセルのファイルを保存しておきましょう。ファイルタブを選択します。

参照を選択する

参照を選択する

名前を付けて保存、参照の順に選択します。

マクロ有効ブックを選択する

マクロ有効ブックを選択する

「名前を付けて保存」ダイアログボックスが表示されます。保存先(例:ダウンロード)を選択し、ファイル名(例:ブック1)を入力し、ファイルの種類、Excel マクロ有効ブック (*.xlsm)の順に選択します。

保存ボタンを押す

保存ボタンを押す

保存ボタンを押します。

Visual Basicを選択する

Visual Basicを選択する

エクセルの編集画面に戻ります。ここでは例として「シート1/シート2/シート3」をそれぞれ分けてPDF化します。開発タブ、Visual Basicの順に選択します。

標準モジュールを選択する

標準モジュールを選択する

「Microsoft Visual Basic for Application」が起動します。挿入タブ、標準モジュールの順に選択します。

コードを貼り付ける

コードを貼り付ける

本記事の「シートごとにPDF化するVBAコード」セクションにあるVBAコードをコピーし、モジュール内にペーストします。

マクロを実行する

マクロを実行する

Sub/ユーザー フォームの実行を選択します。

PDFのプレビューが表示される

PDFのプレビューが表示される

今回は、OpenAfterPublish(ファイルのプレビューを表示するか)をTrue(表示する)に指定したため、PDFのプレビューがすぐに表示されます。PDFを見てみると、シート1.pdf、シート2.pdfというようにシートごとにPDF化されていることを確認できます。

シートごとにPDF化できた

シートごとにPDF化できた

PDFがちゃんと保存されているかも確認しておきましょう。エクスプローラー、エクセルのファイルの保存先(例:ダウンロード)の順に選択すると、先ほど保存したファイルと同じ場所に自動でPDFが保存されていることを確認できます。

このページを見ている人におすすめの商品

コメント

この記事へのコメントをお寄せ下さい。

0 コメント
Inline Feedbacks
View all comments