Excel

シフト表作成マクロ

Excel

知り合いから頼まれて、職場のシフトを組むマクロを作成しました。
仕事ではないので、機能を簡易なものとさせていただき、サクっと作りました。
ソースコードを公開していますので、みなさんの職場に合わせてカスタマイズしてみては。

動作イメージ

シート構成

シート説明
設定シフト表の作成条件を入力します。
年月シフト表の本体。シート名は”202107″のように、年+月の形式で作成されます。
template シフト表のひな形。使用者が誤って変更しないよう、シートを保護してあります。

マクロの機能・前提条件

  • 設定シートで、シフト表の作成条件を管理します。
  • 設定シートの内容に従い、シフト表のシートを作成します。
  • シフト表のシートは、月ごとに作成します。
    (“202107″、”202108″、…という感じでシートが増えていく)
  • シフト表の[シフト1][シフト2]には、設定シートに入力された担当の組み合わせを、土・日・休日を除いた日にランダムに割り振ります。
  • シフト表のシートで「シフト自動シャッフル」ボタンが押されると、日ごとの担当をランダムに入れ替えます。このとき、各日付で担当が重複しないよう考慮します。
  • シフト表のシートで「シフト簡易シャッフル」ボタンが押されると、日ごとの担当をランダムに入れ替えます。このとき、担当の重複は考慮しません。
  • シフト表のシートで「担当重複チェック」ボタンが押されると、各日付に同じ担当が重複していないかをチェックします。
    担当が重複している箇所は、セルの背景色を赤色にします。
  • 印刷機能はありませんので、Excel標準機能での印刷となります。

ソースコード

こちらのページで、マクロのソースコードを公開しています。
また、Excel2016で作成した、マクロの入ったブックをダウンロードできます。

操作説明

こちらのページに、上記でダウンロードできるブックの操作方法を記載しています。

コメント

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