前旬末1週間と継続して、連続不可勤務を考慮したシフト勤務割り当てを行います。
同じく、均等再配置において、連続休み日数、連続勤務日数の処理を行います。
方式:
今旬のシフト表の前に前旬末1週間分の割り当て済みシフト表を挿入し、
前旬と連結したシフト表として、勤務割り当てを行います。
この場合、最初のシフト表を作成する場合は前旬のデータが無いため、
そのままでは休み日数の計算に不都合が生じるので、
「前旬使用」のスイッチで、前旬のデータを
使用するか、今旬のデータのみのデータで作成するかを指定します。
「データ転記」スイッチ
は、次のシフト表を作成する前に、今旬の末1週間分のデータを、前旬分に自動転記します。
(VBAで単純にコピーしているだけ)
具体的な数式例
前旬を考慮した連続不可勤務
「前旬使用」スイッチがオンの場合、前旬のデータを
先頭に連結します。
不可勤務の参照方法は、今までと同じ。
「前旬列表示」と「データ転記」スイッチの処理
「前旬列表示」をオフにすると、前旬列D~Jを非表示にします。オン時は表示。
「データ転記」で、今旬末1週間分のデータを前旬列に転記します。
これにより、次の旬は今旬末のデータの続きとして作成されます。
Private Sub chk前旬列表示_Click() Range("前旬列").EntireColumn.Hidden = Not chk前旬列表示.Value End Sub Private Sub cmdデータ転記_Click() ' ' 今旬末1週間のデータを先旬に転記 ' If MsgBox("今旬末1週間のデータを先旬に転記します。よろしいですか?", vbOKCancel, "データ転記") = vbOK Then Dim Col As Integer '今旬末1週間の開始列番号 With Range("変化させるセル") Col = .Range("a1").Column + .Columns.Count - 7 End With With Range("前旬") .Value = .Offset(0, Col - .Column).Value End With End If End Sub以下、詳細説明作成中・・・予定