Я планирую проведение медицинских осмотров, и мне необходимо исключить праздничные дни из процесса составления расписания. Как перенести экзамены в праздничные дни на рабочие дни?
Я написал код для планирования медицинских осмотров на основе текущей даты истечения срока годности. Затем я получил цикл, который проверяет, является ли запланированная дата (Дата 1) государственным праздником, и переносит (Дата 2), если это государственный праздник. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу поместить новую дату в начало цикла, чтобы проверить, является ли она также выходным днем.
For p = 1 To UBound(PubHol)
If MedDate(j, 1) = PubHol(p, 1) Then
MedDate(j, 1) = ShiftMon(t - 2, ActCol)
End If
Next p
ShiftMon () - массив, содержащий доступные даты для планирования.
ActCol - активный столбец в массиве в соответствии со смещением лиц.
MedDate () запускается через оператор if, чтобы проверить, соответствует ли он каким-либо значениям в PubHol (). Если это так, то он переносит человека на следующую самую раннюю дату, когда он находится на смене (массив ShiftMon: 't' - строка в списке смены).
Что мне нужно, так это снова запустить новую дату (t-2) в цикле, чтобы увидеть, является ли она выходным днем, и если это так, перенести на дату 't-3'. Это должно происходить до тех пор, пока запланированная дата не будет выходным днем.