小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2025年8月29日【ID:0】

メンバー限定

【ExcelVBA】差し込みで複数のPDFファイルを自動生成

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


以下の表は、セルC2に入力した値に応じてデータが抽出されるように作られています。

今回は、このセルC2の値を「A→B→C」のように好みの値に切り替えながら、このシートの印刷範囲の内容をPDFファイルにして自動で保存する仕組みを実現していきます。

※こちらで実現したファイルは記事の最後にて配布しています。


1. 開発手順

まず初めに、[開発]タブを選択し、[マクロ]を選択します。

表示された以下の画面にて、開発する機能の名前を入力し、[作成]を選択します。
こちらでは、「ExportToPDF」と入力しています。

次に表示される以下の画面の「Sub ○○」から「End Sub」の間にコードを記述します。


2. コードの記述(PDFファイル出力)

以下のコードを記述します。

Sub ExportToPDF()
    
    Dim fPath As String
    fPath = ThisWorkbook.Path
    
    Worksheets("PDF出力").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=fPath & "\Sample.pdf"
    
End Sub

では、コードについて解説していきます。

    Dim fPath As String
    fPath = ThisWorkbook.Path

「fPath」という変数(入れ物)を用意し、現在開いているExcelファイルの保存先のフォルダのパスを「fPath」に格納しています。
そのため、取得されるパスは環境により異なります。

こちらの環境の場合は、以下のパスが取得されます。

A:\PDF出力
    Worksheets("PDF出力").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=fPath & "\Sample.pdf"

「PDF出力」というシートの印刷範囲をPDF形式(Type:=xlTypePDF)で保存しています。
保存先とファイル名は、パスで指定します。
こちらでは以下のように、Excelファイルと同じ配下に「Sample.pdf」という名前で保存しています。

Filename:=fPath & "\Sample.pdf"

以上のコードを実行することで、以下のようにPDFファイルを作成することができます。

ただこのままでは、セルC2の値を手動で変更する必要があります。
そこで、次のように修正します。

ExcelVBAレベル確認

3. コードの記述(引数の設定)

以下のように修正します。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7153501

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】隣接したセルの書式を自動反映させない

【Excel】半角文字の入力を制限する

【Excel】先頭の「0」を維持する簡単な対策

【Excel】複数行のデータを瞬時に1列にする方法

【Googleスプレッドシート】チェックボックスの自動表示

【Excel】誤って上書き保存しないための対策

【Excel】指定時間を自動で色付け「シフト表」

【Excel】吹き出しの図形の三角の幅を自由に調整する方法

【Excel】条件付き書式で休日を色付け

【Excel】改行を保持しながら値を参照する

【Excel】期間外のデータを非表示にする

【Excel】グループ化されたセルを素早く開閉!?

【Excel】カテゴリー単位の連番を自動表示

【Excel】実は便利な拡張子(xltx)とは

【Excel】分表記を時刻表記(時:分)に変換

【Excel】指定した範囲内で列幅を自動調整

【ExcelVBA】選択した値の関連データを自動で抽出

【Excel】重複した値をマークする

【ExcelVBA】データ登録フォームを開発する

【Excel】セル内の特定の文字の数を求める

【Excel】直近3か月をスクロールバーで表示

【Excel】Python in Excelでクロス表を1行1データに変換

【Excel】リンク更新の警告が表示されないようにする

【Excel】ピボットテーブルで詳細確認

【Excel】グラフを後から組み合わせる





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ