我已经重新安排列,并没有使用所有的人,因为我不知道如何相关的一些手头上的问题。列A,B,C和D是输入。我将“优先级”值从yes/no更改为True/False。 “查找周”按钮激活下面的宏中的列E.填补
Sub findweek()
Dim absence As Integer: Dim week As Byte
Range("E2:E100").ClearContents
absence = 2 'find the first absence in column A
week = 2 'find the first week in column B
Do While Cells(absence, 1) <> 0 'loop through the absences in column A
Do While Cells(week, 4) <> 0 'loop through weeks in column B
'compare the date in column A to the begining of week in column B
If Cells(absence, 1) > Cells(week, 4) Then
week = week + 1
ElseIf Cells(absence, 1) = 0 Then
Exit Do
Else
Cells(week - 1, 5) = Cells(absence, 1): absence = absence + 1: week = 2
End If
Loop 'count until you run out of "Mondays"
Exit Do
Loop 'count until you run out of "dates"
End Sub
的值F栏由以下填充:
=IF(E2="",1,IF(VLOOKUP(E2,$A$2:$C$100,3,FALSE)=TRUE,2,0))
细胞G1款项列F中的值
我希望这会给你一个关于如何设置项目的想法。