知り合いから頼まれて、職場のシフトを組むマクロを作成しました。
仕事ではないので、機能を簡易なものとさせていただき、サクっと作りました。
ソースコードを公開していますので、みなさんの職場に合わせてカスタマイズしてみては。
動作イメージ
シート構成
シート | 説明 |
---|---|
設定 | シフト表の作成条件を入力します。 |
年月 | シフト表の本体。シート名は”202107″のように、年+月の形式で作成されます。 |
template | シフト表のひな形。使用者が誤って変更しないよう、シートを保護してあります。 |
マクロの機能・前提条件
- 設定シートで、シフト表の作成条件を管理します。
- 設定シートの内容に従い、シフト表のシートを作成します。
- シフト表のシートは、月ごとに作成します。
(“202107″、”202108″、…という感じでシートが増えていく) - シフト表の[シフト1][シフト2]には、設定シートに入力された担当の組み合わせを、土・日・休日を除いた日にランダムに割り振ります。
- シフト表のシートで「シフト自動シャッフル」ボタンが押されると、日ごとの担当をランダムに入れ替えます。このとき、各日付で担当が重複しないよう考慮します。
- シフト表のシートで「シフト簡易シャッフル」ボタンが押されると、日ごとの担当をランダムに入れ替えます。このとき、担当の重複は考慮しません。
- シフト表のシートで「担当重複チェック」ボタンが押されると、各日付に同じ担当が重複していないかをチェックします。
担当が重複している箇所は、セルの背景色を赤色にします。 - 印刷機能はありませんので、Excel標準機能での印刷となります。
ソースコード
こちらのページで、マクロのソースコードを公開しています。
また、Excel2016で作成した、マクロの入ったブックをダウンロードできます。
操作説明
こちらのページに、上記でダウンロードできるブックの操作方法を記載しています。
コメント