如果没有特殊要求,那就按照轮流的方法去实现好了:
A B C D E
第 1天 早班 中班 夜班 休息 休息
第 2天 休息 早班 中班 夜班 休息
第 3天 休息 休息 早班 中班 夜班
第 4天 夜班 休息 休息 早班 中班
第 5天 中班 夜班 休息 休息 早班
================================================
第 6天 早班 中班 夜班 休息 休息
第 7天 休息 早班 中班 夜班 休息
第 8天 休息 休息 早班 中班 夜班
第 9天 夜班 休息 休息 早班 中班
第10天 中班 夜班 休息 休息 早班
================================================
......
可以发现,5天一个轮次,第6天重复第1天的,第7天重复第2天的,......
我先介绍直接在
窗体上输出一个月的安排吧!
Option Explicit
Private Sub Command1_Click()
Dim d(1 To 5) As String
Dim MaxDay As Integer
Dim i As Integer
Dim j As Integer
Dim LS As String
d(1) = "早班"
d(2) = "中班"
d(3) = "夜班"
d(4) = "休息"
d(5) = "休息"
MaxDay = Val(InputBox("请输入当月天数!"))
Print "A", "B", "C", "D", "E"
For i = 1 To MaxDay
If i > 5 Then
j = i Mod 5
If j = 0 Then j = 5
Else
j = i
End If
Debug.Print j, d(j)
Print d(j),
If i Mod 5 = 0 Then
Print
LS = d(1)
For j = 1 To 4
d(j) = d(j + 1)
Next j
d(5) = LS
End If
Next i
End Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。