У меня есть пользовательская форма, которая автоматически генерирует текущую дату и время и помещает ее в ячейку (конец пакета).Затем пользовательская форма снова используется снова, и она будет повторять этот шаг, но поместит ее в другую ячейку (начало новой партии).
Я хочу рассчитать разницу во времени между двумя датами в минутах.Код, который я использую сейчас, дает мне странные отрицательные ответы по какой-то причине, когда я вычитаю раннюю дату и более позднюю дату, поэтому где-то должна быть ошибка.(Эти даты могут быть или не быть в один и тот же день из-за начальных и конечных партий после полуночи).
Когда я просто пытаюсь вычесть два (без кода), просто используя формулу ячейки, я получаю неправильное значение 0,05.
![enter image description here](https://i.stack.imgur.com/myhoq.jpg)
Кто-нибудь знает, как я могу в Excel правильно распознать эти даты и вычесть их, чтобы сгенерировать разницу в минутах?
If opt1.Value = True And Range("U40") = "" Then
Range("U40") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt1.Value = True And Range("U41") = "" Then
Range("U41") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt1.Value = True And Range("U42") = "" Then
Range("U42") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt2.Value = True And Range("W40") = "" Then
Range("W40") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt2.Value = True And Range("W41") = "" Then
Range("W41") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
ElseIf opt2.Value = True And Range("W42") = "" Then
Range("W42") = Format(txt1, "dd-mmm-yyyy hh:mm")
UserForm3.Hide
End If
If Range("U42") > "" And Range("W42") > "" Then
Range("Y42") = Range("W42") - Range("U42")
ElseIf Range("U41") > "" And Range("W41") > "" Then
Range("Y41") = Range("W41") - Range("U41")
ElseIf Range("U40") > "" And Range("W40") > "" Then
Range("Y40") = Range("W40") - Range("U40")
End If