Excelマクロで機械点検の交互役割表を自動作成する方法

Excel

機械点検やシフト管理では、Excelマクロを活用して交互に役割を割り当てることで、作業効率と管理の正確性を大幅に向上させることができます。本記事では、月単位で昼勤務と夜勤務を縦に配置し、日付ごとに2つのチームが交互に担当する役割表の作成方法をご紹介します。

役割表の基本構造

縦に上段を昼勤務、下段を夜勤務に設定し、横方向には1日から31日までの日付を並べます。役割一覧は特定の列に入力しておき、マクロで自動的に各日付に交互割り当てを行います。

この構造により、昼夜勤務の交代が一目で分かる表が完成します。

マクロの設計ポイント

交互割り当てを実現するには、ForループやModulo演算子を使用して、チームを順番に割り振るロジックが有効です。

例えば、日付インデックスを2で割った余りを利用し、余り0の場合はチームA、1の場合はチームBを割り当てる方法が基本になります。

具体的なマクロ例

以下のような簡単なVBAコードで交互割り当てが可能です:

Sub AssignShifts()
    Dim day As Integer
    Dim lastCol As Integer
    Dim startRow As Integer
    startRow = 2 ' 昼勤務開始行
    lastCol = 32 ' 1~31日
    For day = 1 To lastCol - 1
        If day Mod 2 = 1 Then
            Cells(startRow, day + 1).Value = "Team A"
            Cells(startRow + 1, day + 1).Value = "Team B"
        Else
            Cells(startRow, day + 1).Value = "Team B"
            Cells(startRow + 1, day + 1).Value = "Team A"
        End If
    Next day
End Sub

カスタマイズのポイント

役割一覧が多い場合や、特定のチームが連続して担当する日を設定したい場合は、配列を利用して柔軟に割り当て順序を変更することも可能です。

また、休日や特定日を除外する条件を追加することで、実務に即したシフト表を作成できます。

まとめ

Excelマクロを活用することで、月単位の昼夜交互勤務の役割表を効率的に作成できます。基本のForループとModulo演算子を理解し、必要に応じて条件分岐や配列を組み合わせることで、実務向けの柔軟なシフト表が完成します。

コメント

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