トップ > 汎用コード > 値を変更しながらの連続PDF出力

値を変更しながらの連続PDF出力PDF出力   2023.01.26 [更新日]2026.04.04

アクティブシートの指定したセルに、数字を順番に自動設定し、印刷範囲を連続でPDF出力するマクロです。

あるセルに出席番号を入力したら、その生徒データを表示するシートを作成したが、40人の出席番号を順に入力して、その都度PDFで出力するのは面倒。そのような時に使用します。

[値を変更しながら連続印刷]はこちら
[値を変更しながら連続シート出力]はこちら



※マクロ実行前に印刷範囲を設定しておいてください

【サンプルコード実行動画】※次の動画の氏名や点数はすべてダミーデータです


【お薦め】マクロ・プロシージャを管理する無料のツール!
 Excelマクロ管理ツール

サンプルコード2023.01.26 [更新日]2026.04.04

コードの貼り付け場所   VBAコードをカラーで印刷・Web掲載するためのツールはこちら

'***************************************************************
'* セルに値を設定しながら連続でPDF出力する
'*--------------------------------------------------------------
'* 概要     | アクティブシートの任意のセルに順に数値を設定しながら
'*          | 連続でPDF出力する
'*          | 参考:https://excel.syogyoumujou.com/vba/output_pdf.html
'* 引数     | なし
'* 戻り値   | なし
'* 作成日   | 2023.01.26
'*--------------------------------------------------------------
'* 改修履歴 | 2026.04.04
'***************************************************************
Public Sub exportSheetsAsPdfSequentially()
On Error GoTo LBL_ERROR

    '------------------------------
    ' 定数定義
    '------------------------------
    Const START_VALUE   As Long = 1            ' 開始番号
    Const END_VALUE     As Long = 40           ' 終了番号
    Const STEP_VALUE    As Long = 1            ' 間隔
    Const CELL_ADDRESS  As String = "A1"       ' セル番地
    Const BASE_FILENAME As String = "Sample"   ' 出力ファイルの基準名

    '------------------------------
    ' 出力先フォルダの選択
    '------------------------------
    MsgBox "出力先のフォルダを選択してください", vbInformation

    Dim strFolderPath As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show Then
            strFolderPath = .SelectedItems(1)
        Else
            Exit Sub
        End If
    End With

    '------------------------------
    ' 連続PDF出力
    '------------------------------
    Dim strFileName As String
    strFileName = strFolderPath & Application.PathSeparator & BASE_FILENAME

    Application.ScreenUpdating = False

    Dim i As Long
    With ActiveSheet
        For i = START_VALUE To END_VALUE Step STEP_VALUE
            .Range(CELL_ADDRESS).Value = i
            .ExportAsFixedFormat _
                Type:=xlTypePDF, _
                Filename:=strFileName & Format$(i, "000"), _
                OpenAfterPublish:=False
        Next i
    End With

    Application.ScreenUpdating = True

    '------------------------------
    ' 出力先フォルダを開く
    '------------------------------
    Call Shell("C:\Windows\Explorer.exe " & strFolderPath, vbNormalFocus)
    Exit Sub

'------------------------------
' エラー処理
'------------------------------
LBL_ERROR:
    Application.ScreenUpdating = True
    MsgBox "エラー番号:" & Err.Number & vbLf & _
           Err.Description, vbExclamation, "エラーが発生しました"
End Sub

定数を変更することで、様々な状況に対応出来ます。
・「出力ファイルの基準名」 出力するファイル名の基準です。PDF出力されるファイルの名前は「基準名」+「連続番号」になります。
・「値設定対象のセル」 値を設定するセルのアドレスです。セルアドレスは文字列として指定します。【例】セルB3:"B3"
・「開始番号」 セルに設定する値の開始番号です。1~40番まで設定する場合の1番を指します。
・「終了番号」 セルに設定する値の終了番号です。1~40番まで設定する場合の40番を指します。
・「番号の増分値」 番号の増分値です。「1」の場合1ずつ番号が増えます。「2」にすると2ずつ番号が増えます。



ページトップへ戻る

Excel 汎用コード

Copyright(C) 2009- 坂江 保 All Rights Reserved.