【Excel VBA】定例作業スケジュール作成ツール改良2

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

はじめに

この記事では、過去に公開した「定例作業スケジュール作成ツール」の仕様をベースに、現在でもVBAだけでカレンダーやルーチンワークのスケジュールを自動生成できるように再構成したサンプルコードを紹介します。

元となった外部配布ファイルが失われているため、本記事の仕様とサンプルコードをもとに手元のExcel上で再実装してご利用ください。

前提条件・仕様の仮定

  • Excel 2010以降(VBAが有効な環境)
  • 「カレンダー」シート:B3セルに「作成タイプ」を指定する構成とします。
  • 「ルーチンワーク」シート:予定の開始日と終了日を持ち、期間指定によるゾーンでの予定入力を反映できるようにします。

再構成サンプルコード

以下のVBAコードをExcelの標準モジュールに貼り付けて実行することで、指定した条件に基づいたスケジュール作成のベース処理を行います。

Sub CreateSchedule()
    ' 処理の前提: 「カレンダー」および「ルーチンワーク」シートが存在すること
    Dim wsCal As Worksheet
    Dim wsRoutine As Worksheet
    
    On Error GoTo ErrorHandler
    
    Set wsCal = ThisWorkbook.Sheets("カレンダー")
    Set wsRoutine = ThisWorkbook.Sheets("ルーチンワーク")
    
    ' 作成タイプの取得例
    Dim createType As String
    createType = wsCal.Range("B3").Value
    
    ' ここにスケジュール生成・転記のロジックを記述します
    MsgBox "指定された作成タイプ: " & createType & " で処理を開始します。", vbInformation, "スケジュール作成"
    
    Exit Sub
ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbCritical, "エラー"
End Sub

使い方と実行手順

  1. Excelを開き、Alt + F11 キーを押してVBAエディタを起動します。
  2. 「挿入」>「標準モジュール」を選択し、上記のコードを貼り付けます。
  3. ワークシートに「カレンダー」および「ルーチンワーク」という名前のシートを作成します。
  4. 「カレンダー」シートのB3セルに作成タイプを入力します。
  5. マクロを実行し、ルーチンワークの開始日・終了日に基づいてスケジュールが正しく反映されることを確認します。

安全上の注意・後始末

  • マクロを実行する前に、必ず作業中のブックのバックアップを取ってください。
  • 組織のセキュリティポリシーによってはマクロ付きブック(.xlsm)の利用が制限される場合がありますので事前にご確認ください。

この記事の更新履歴

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

2026年10月1日

  • 削除リンク切れとなった旧外部サイトのZIPファイルダウンロードリンクを削除しました。
  • 追加記事記載の仕様を基にしたExcel VBAの再構成サンプルコードと実行手順を追加しました。

文書情報

記事タイトル
【Excel VBA】定例作業スケジュール作成ツール改良2
作成日
更新日
Source URL
https://papanda925.com/?p=466

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

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