Excelマクロで機械点検の月間交代勤務表を自動作成する方法

Excel

機械点検の役割表を2つのチームで交互に割り当てたい場合、Excelマクロを使うと月単位のスケジュールを効率的に作成できます。昼勤務と夜勤務を縦に、1日から31日を横に配置し、土日は除外する設定も可能です。

基本レイアウトの作成

まずExcelのシートに縦軸として「昼勤務」と「夜勤務」、横軸として1日〜31日を設定します。役割の一覧は別の列に入力しておきます。

土日を除外する場合は、日付に対応した曜日関数(=TEXT(日付セル,”ddd”))を利用して条件付きでマクロ内でスキップさせます。

マクロで交互割り当て

マクロではForループを用いて、日ごとに昼夜勤務の担当を交互に割り当てます。例えば奇数日はチームA、偶数日はチームBといった方式で振り分けます。

実例として、役割リストを配列に格納し、勤務日に対応するセルに順番に書き込むことができます。土日の場合はContinueステートメントでスキップします。

土日を除外する方法

日付セルから曜日を判定し、土曜(Sat)や日曜(Sun)の場合はマクロでセルを書き込まないように制御します。これにより自動で平日のみ役割が割り当てられます。

また、条件付き書式を併用すると、土日セルをグレーアウトするなど視覚的にわかりやすくできます。

マクロの実装例

Sub AssignRoles()

Dim i As Integer, j As Integer

Dim roles() As String

roles = Array(“チームA”,”チームB”)

For i = 1 To 31

曜日判定コードを入れて土日をスキップ

For j = 1 To 2 ‘昼と夜

セルにroles((i+j) Mod 2)を書き込む

Next j

Next i

End Sub

まとめ

Excelマクロを使えば、2つのチームで交互に昼夜勤務を割り当てる月間スケジュール表を簡単に作成できます。土日を除外し、役割リストを配列化することで自動化が可能です。

この方法を応用すれば、異なる勤務パターンや役割人数の増減にも柔軟に対応でき、効率的にスケジュール管理が行えます。

コメント

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