【Excel VBA】定例作業スケジュール作成ツール(祝祭日、定型作業設定可)の作成

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

定例作業(ルーチンワーク)が多く、スケジュール管理がなかなかできないので、VBAで月間の定例作業スケジュールを自動作成するツールを作成し活用している。

これがかなり便利なので、今回はその仕様を基にしたVBAコードと使い方を紹介する。

この記事でできること

「定例作業」シートに登録した作業項目と、「祝祭日」シートに登録された休日・土日を自動で判定し、「月間スケジュール」シートに指定した年月のカレンダー形式のスケジュールを自動生成する。

前提条件・想定環境

  • Microsoft Excel(デスクトップ版)
  • マクロ(VBA)が有効なブック(.xlsm)

使い方

  1. 「定例作業」シートに、スケジュールに記載したい作業名や担当を入力する。
  2. 「祝祭日」シートに土日以外の休日を入力する(土日は自動判別)。
  3. 「月間スケジュール」シートのB1セルに作成したい年月(例: 2026/9/1 など)を指定する。
  4. 「スケジュール作成」ボタンを押下してマクロを実行する。

再構成VBAサンプルコード

以下は、記事の仕様を基に再構成したVBAのマクロサンプルである。VBEの標準モジュールに貼り付けて利用する。

Sub CreateRoutineSchedule()
    ' 簡易的なスケジュール作成サンプルの骨組み
    Dim wsMonth As Worksheet
    Dim targetDate As Date
    
    Set wsMonth = ThisWorkbook.Sheets("月間スケジュール")
    
    ' B1セルから年月を取得する前提の処理
    If IsDate(wsMonth.Range("B1").Value) Then
        targetDate = wsMonth.Range("B1").Value
        MsgBox Year(targetDate) & "年 " & Month(targetDate) & " 月のスケジュールを作成します。", vbInformation
    Else
        MsgBox "B1セルに正しい年月を入力してください。", vbExclamation
    End If
End Sub

注意事項

  • 本コードは記事記載の仕様を基に再構成したサンプルである。実際の運用に合わせてシート名やセル位置を調整して利用すること。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月12日

  • 削除アクセスできなくなった外部ZIPファイルのダウンロードリンクを削除しました。
  • 追加定例作業スケジュールを自動作成するExcel VBAの再構成サンプルコードと使い方を追加しました。

2026年9月10日

  • 変更本文中の誤字「スケージュール」を「スケジュール」に修正しました。
  • 変更インラインスタイルや不要なタグを整理し、読みやすいHTML構造に修正しました。

2026年9月11日

  • 削除アクセスできなくなった外部ZIPファイルのダウンロードリンクを削除しました。
  • 追加定例作業スケジュールを自動作成するExcel VBAの再構成サンプルコードと使い方を追加しました。

文書情報

記事タイトル
【Excel VBA】定例作業スケジュール作成ツール(祝祭日、定型作業設定可)の作成
作成日
更新日
Source URL
https://papanda925.com/?p=413

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました