6,210
社区成员
发帖
与我相关
我的任务
分享
Sub calcdate()
Cells(1, 3) = hourdiff(Cells(1, 1), Cells(1, 2))
End Sub
Function hourdiff(date1 As Date, date2 As Date)
Dim d1 As Date, d2 As Date
If date1 > date2 Then
d1 = date2
d2 = date1
Else
d1 = date1
d2 = date2
End If
Dim hours1 As Integer, hours2 As Integer
hours1 = DateDiff("h", d1, Format(d1, "yyyy-MM-dd 17:00"))
If hours1 < 0 Then hours1 = 0
hours2 = DateDiff("h", Format(d2, "yyyy-MM-dd 8:00"), d2)
If hours2 < 0 Then hours2 = 0
If Format(d1, "yyyy-MM-dd") = Format(d2, "yyyy-MM-dd") Then
hourdiff = hours1 + hours2
Else
hourdiff = hours1 + hours2 + 9 * (DateDiff("d", Format(d1, "yyyy-MM-dd"), Format(d2, "yyyy-MM-dd")) - 1)
End If
End Function