|
- Sub 考勤()
- Dim srow As Single, arr, brr, crr, i As Single, j As Byte
- srow = Range("a1").End(xlDown).Row
- arr = Range("a1:c" & srow)
- ReDim brr(1 To srow - 1)
- 'ReDim crr(1 To 3)
- For i = 2 To srow
- If arr(i, 3) <> "" Then
- k = (Len(arr(i, 3)) + 1) / 9
- crr = Split(arr(i, 3), ";")
- For j = 0 To k - 1
- If CDate(crr(j)) - 0 >= 0.28 And CDate(crr(j)) - 0 <= 0.33 Then
- brr(i - 1) = brr(i - 1) & Day(arr(i, 1)) & "日早班上班卡;"
- ElseIf CDate(crr(j)) - 0 >= 0.58 And CDate(crr(j)) - 0 <= 0.666 Then
- brr(i - 1) = brr(i - 1) & Day(arr(i, 1)) & "日中班上班卡;"
- ElseIf CDate(crr(j)) - 0 >= 0.6666666 And CDate(crr(j)) - 0 <= 0.79 Then
- brr(i - 1) = brr(i - 1) & Day(arr(i, 1)) & "日早班下班卡;"
- ElseIf CDate(crr(j)) - 0 >= 0.9 Then
- brr(i - 1) = brr(i - 1) & Day(arr(i, 1)) & "日晚班上班卡;"
- ElseIf CDate(crr(j)) - 0 >= 0 And CDate(crr(j)) - 0 <= 0.15 Then
- brr(i - 1) = brr(i - 1) & Day(CDate(arr(i, 1)) - 1) & "日中班下班卡;"
- ElseIf CDate(crr(j)) - 0 >= 0.33 And CDate(crr(j)) - 0 < 0.45 Then
- brr(i - 1) = brr(i - 1) & Day(arr(i, 1)) & "日晚班下班卡;"
- End If
- Next
- End If
- Next
- Range("d2").Resize(i - 2, 1) = Application.Transpose(brr)
- End Sub
复制代码
|
|