定例作業(ルーチンワーク)が多く、スケジュール管理がなかなかできないので、VBAで月間の定例作業スケジュールを自動作成するツールを作成し活用している。
これがかなり便利なので、今回はその仕様を基にしたVBAコードと使い方を紹介する。
この記事でできること
「定例作業」シートに登録した作業項目と、「祝祭日」シートに登録された休日・土日を自動で判定し、「月間スケジュール」シートに指定した年月のカレンダー形式のスケジュールを自動生成する。
前提条件・想定環境
- Microsoft Excel(デスクトップ版)
- マクロ(VBA)が有効なブック(.xlsm)
使い方
- 「定例作業」シートに、スケジュールに記載したい作業名や担当を入力する。
- 「祝祭日」シートに土日以外の休日を入力する(土日は自動判別)。
- 「月間スケジュール」シートのB1セルに作成したい年月(例: 2026/9/1 など)を指定する。
- 「スケジュール作成」ボタンを押下してマクロを実行する。
再構成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の再構成サンプルコードと使い方を追加しました。
