値を変更しながらの連続PDF出力PDF出力 2023.01.26 [更新日]2026.04.04
アクティブシートの指定したセルに、数字を順番に自動設定し、印刷範囲を連続でPDF出力するマクロです。
あるセルに出席番号を入力したら、その生徒データを表示するシートを作成したが、40人の出席番号を順に入力して、その都度PDFで出力するのは面倒。そのような時に使用します。
[値を変更しながら連続印刷]はこちら
[値を変更しながら連続シート出力]はこちら

※マクロ実行前に印刷範囲を設定しておいてください
【サンプルコード実行動画】※次の動画の氏名や点数はすべてダミーデータです
【お薦め】マクロ・プロシージャを管理する無料のツール!
Excelマクロ管理ツール
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ずつ番号が増えます。