【Excel VBA】出勤簿を前半・後半に自動分割してPDF出力する勤怠管理マクロ
毎月の出勤簿を分割・計算・PDF化。Excel VBAで勤怠管理を自動化した事例
こんにちは!
「毎月、全社員分の出勤簿を手作業で整形・計算するのに何時間もかかっている…」
「月の前半と後半で所定労働時間が異なり、残業時間の計算ミスが起きやすい…」
「できあがった出勤簿を1人ずつPDFにして、決まったルールで名前を付け直すのが面倒…」
このような出勤簿の作成や勤怠管理に関するお悩みは、Excelで毎月の締め作業を行っている現場で特によく見られます。作業手順が決まっていても、スタッフの人数分だけ「転記」「計算」「保存」「PDF変換」を手作業で繰り返すのは大変な労力ですし、誤入力のリスクも避けられません。
今回は、フォルダに入れた出勤簿データを読み込み、前半・後半の出勤簿シートへ自動分割したうえで、勤務時間・残業時間の計算からPDF出力までワンクリックで完了するExcelマクロ(VBA)の事例をご紹介します。
スタッフごとの所属会社や勤務ルールをあらかじめ登録しておくことで、複雑な条件分岐にも自動で対応できる仕組みです。

マクロの設定画面:スタッフ情報や前半・後半の所定労働時間を登録し、自社の就業ルールに合わせて柔軟に管理可能
自動化ツールの機能と業務の流れ
本ツールを導入することで、これまで手作業で行っていた「出勤簿の複製・整形」「労働時間の計算」「PDF保存」が一連の流れで自動化されます。
スタッフ情報と勤務ルールの自動判定
あらかじめ「出勤簿作成」シートに、スタッフ一覧や前半・後半それぞれの所定労働時間(就業ルール)を登録しておきます。
マクロを実行すると、出勤簿データの中からスタッフ番号や名前を自動的に見つけ出し、該当する所属グループや労働条件を自動で引き当てます。項目の位置を自動で判別する仕組みになっているため、表のレイアウトが多少変わっても安定して動作します。
フォルダ内の複数ファイルをまとめて一括処理
処理したい出勤簿ファイル(Excel)を指定のフォルダへまとめて入れておき、ボタンを押すだけで全ファイルを順番に自動処理します。
各ファイルを開き、元の出勤簿データから「前半用」「後半用」の2つのシートを自動で作成・整形します。不要な項目の削除やレイアウト調整もすべて自動で行われるため、手作業でシートをコピーしたり切り貼りしたりする必要はありません。

処理前の出勤簿ファイル:指定フォルダに対象ファイルを配置してボタンを押すだけで一括処理がスタート
複雑な勤務時間・残業時間も自動で正確に計算
出退勤時刻をもとに、実労働時間や所定外労働時間(残業時間)をルール通りに自動計算します。
- 早出・遅出などの特殊な時間判定:出勤時間帯に応じた退勤時間の補正や、早退・遅刻の有無に応じた調整を自動反映
- 前半・後半での労働時間の連動:月を前半・後半に分ける場合でも、出退勤のつながりを正しく維持
- 残業時間・合計時間の自動算出:所定時間を超えた分のみを残業時間として集計し、マイナス表記などの誤りを防止
これまで電卓や複雑な関数を手入力して確認していた時間計算が、すべて自動で完了します。
会社別・個人別のPDFを自動保存
前半・後半に分割されたExcelファイルが作成された後、PDF出力ボタンを押すと、各シートが自動的にPDFファイルとして保存されます。
PDFのファイル名には「所属グループ」「スタッフ番号」「氏名」「対象年月」が自動で付与されるため、保存後に手作業で名前を変更する手間がかかりません。
- 例:
A社_90_山田 花子_2024年10月.pdf - 例:
B社_90_山田 花子_2024年10月.pdf

分割・出力された出勤簿:前半・後半に整えられた帳票から、会社・個人・年月ごとのPDFを自動生成
全体処理フロー:データ入力からPDF出力までの流れ
本ツールにおける一連の自動処理を図にまとめると、以下のようになります。
出勤簿自動分割&PDF出力マクロの全体処理フロー:元データの配置からシート分割・時間計算・PDF出力までの流れ
処理の流れのまとめ
-
【入力】フォルダに対象ファイルを保存
- 毎月発生する各スタッフの出勤簿ファイル(Excel)を、決まったフォルダ(「出勤簿データ」)にまとめて保存します。
- スタッフの所属や就業ルール(前半・後半の所定労働時間など)は、マクロ側の設定マスタで柔軟に管理できます。
-
【処理】Excel VBAによる一括自動処理
- STEP 1(シート分割・マスタ照合) :元データを複製して不要な項目を自動削除し、「前半用」「後半用」の2シートへ自動整形。スタッフマスタと照合して所属会社や所定労働時間を自動引き当てます。
- STEP 2(勤務時間・残業時間の自動計算) :出勤時間に応じた退勤時間の補正や休憩・早退・遅刻ルールを判定し、実労働時間・残業時間・合計値を自動算出します。
- STEP 3(Excel保存・PDF出力) :前半・後半シートを格納したExcelファイルを保存したのち、会社別・個人別のPDFを一括生成します。
-
【出力】整理されたExcelファイルとPDFが即座に完成
- 「分割後出勤簿」フォルダ内に、分割済みExcelファイルと、統一ルールで命名されたPDF(
所属_番号_氏名_年月.pdf)が自動保存されます。
- 「分割後出勤簿」フォルダ内に、分割済みExcelファイルと、統一ルールで命名されたPDF(
操作はボタンを押すだけ。誰でも簡単に扱えるシンプル設計
日常の運用で行う操作は、とてもシンプルです。
- 処理したい出勤簿ファイルをフォルダに保存
- Excel上の「出勤簿分割」ボタンをクリック
- 内容を確認し、「PDF出力」ボタンをクリック
専用の確認メッセージが表示されるため、誤ってボタンを押してしまっても安心です。処理中は画面のチラつきを抑えてスムーズに動作し、完了すると元の状態に自動で戻ります。PC操作に不慣れな担当者や、業務の引き継ぎ時でも迷わず使える設計です。
Excel VBAで勤怠管理を自動化するメリット
毎月の手作業・単純作業を大幅に削減
ファイルをフォルダに置いてボタンを押すだけで、全スタッフ分の出勤簿作成・シート分割・保存が完了します。毎月の締め日前に発生していた長時間の単純作業から解放されます。
計算ミスや転記漏れをゼロに
出勤・退勤時刻や休憩時間、残業時間の計算を決められた就業ルールに沿って自動処理するため、人による判断のブレや計算ミス、転記漏れを未然に防ぎます。
ファイル名付けと管理の統一化
所属や氏名、年月を組み合わせた統一ルールでPDFが自動保存されるため、ファイル名の入力ミスや保存場所の散乱を防ぎ、過去データの検索や共有もスムーズになります。
専用システム不要で低コスト導入
高額な外部勤怠システムやクラウドツールを新規契約することなく、使い慣れたExcelのままで業務を効率化できます。自社特有のルールやフォーマット変更にも柔軟に対応可能です。
開発費用とカスタマイズのご案内
今回ご紹介した「出勤簿データの自動読み込み、前半・後半分割、勤務時間・残業時間の自動計算、Excel保存、PDF出力」を一括で行うツールの開発費用は、おおよそ40,000円〜50,000円が目安となります。
業務内容や帳票の形式に合わせて、以下のようなカスタマイズも柔軟に対応可能です。
- 異なるフォーマットや複数拠点・事業所の帳票への対応
- スタッフ情報の未登録や入力不備を知らせるエラーチェック機能
- 土日祝日や会社休業日の自動判定
- 雇用形態や役職ごとの勤務区分・休憩ルールの個別設定
- PDF出力後の一覧表作成や、メール送信用データとの連携
「毎月の出勤簿作成に追われて他の業務が進まない」「自社独特の計算ルールがあって手計算が減らない」などのお悩みがございましたら、現在のExcelファイルや運用手順を拝見したうえで最適な自動化をご提案いたします。まずはお気軽にご相談ください。


