Мне нужно создать функцию Excel, которая дает время (время входа и время выхода), оно вычисляет время (hh: mm) между этими двумя, например, если записи сотрудника в 23: 00 (11 вечера) и выйдет в 07:00 (7 часов), он должен написать 8:00 в ячейке. Причина, по которой я не использую вычитание по времени, объясняется случаями, подобными тем, которые были в предыдущем примере, так как это даст и ошибка (7 утра ниже 23:00). До сих пор, я написал следующий код:Разница функций Excel между двумя датами
Function DIFERENCAHORASMINUTOS(ByVal EntryTime As Date, ByVal ExitTime As Date)
Dim hexit, hentry, mexit, mentry, dminutes, dhours As Integer
hexit = Int(Hour(ExitTime))
hentry = Int(Hour(EntryTime))
mentry = Int(Minute(EntryTime))
mexit = Int(Minute(ExitTime))
If ExitTime < EntryTime Then
If mexit < mentry Then
dhours = (hexit + 24) - hentry
dminutes = (mexit + 60) - mentry
DIFERENCAHORASMINUTOS = Time(dhours, dminutes, 0)
Else
dhours = (hexit + 24) - hentry
dminutes = mexit - mentry
DIFERENCAHORASMINUTOS = Time(dhours, dminutes, 0)
End If
Else
If mexit < mentry Then
dhours = hexit - hentry
dminutes = (mexit + 60) - mentry
DIFERENCAHORASMINUTOS = Time(dhours, dminutes, 0)
Else
dhours = hexit - hentry
dminutes = mexit - mentry
DIFERENCAHORASMINUTOS = Time(dhours, dminutes, 0)
End If
End If
End Function
Но это дает мне ошибку #value в клетке. Большое спасибо за ваше внимание, и если вам нужна дополнительная информация, чтобы помочь мне, просьба запросить, и я предоставлю вам.
С уважением
Спасибо много для того, чтобы помочь мне. Вы решили мою проблему. – Digmoons