Я получаю два ввода от пользователя USERFORM «CheckIn Time (hh:mm
format)» и «Checkout Time (hh:mm
format)» через TextBox и пытаюсь получить немедленный вывод в 3-м текстовом поле (hh:mm
формат) который показывает разницу между регистрацией и оформлением заказа.
Для этого я использую Call Sub procedure
метод.
Однако я получаю ошибку
«Время выполнения 13: несоответствие типов».
Я новичок в VBA, и я буквально застрял в этом с 2 недель. Пожалуйста, помогите.
Я пытался изменить тип данных, но не получил положительного результата.
Private Sub CHKIN_Change() 'Calling GetTime
Call GetTime
End Sub
Private Sub CHKOUT_Change() 'Calling GetTime
Call GetTime
End Sub
Private Sub TOTALHRS_Change() 'Calling GetTime
Call GetTime
End Sub
'below Calculating difference b/t Checkin & Checkout, displaying in "TOTALHRS" textbox
Sub GetTime()
Dim Time1, Time2, TotalTime As Date
Time1 = CHKIN.Text
Time2 = CHKOUT.Text
TotalTime = DateDiff("s", Time1, Time2)
TotalTime = Totalhour / 86400
TOTALHRS.Text = Format(Totalhour, "hh:mm")
End Sub
'Using below code to convert checkin and checkout input in hh:mm format.
Private Sub CHKIN_AfterUpdate()
Dim tDate As Date
Dim tString As String
With CHKIN
'Check if user put in a colon or not
If InStr(1, .Value, ":", vbTextCompare) = 0 Then
'If not, make string 4 digits and insert colon
tString = Format(.Value, "0000")
tDate = TimeSerial(Left(tString, 2), Right(tString, 2), 0)
CHKIN.Value = Format(tDate, "HH:MM")
Else
'Otherwise, take value as given
.Value = Format(.Value, "hh:mm")
End If
End With
Exit Sub
End Sub
Требуемый желаемый результат: checkout
- checkin
= hh:mm
Пример: 23:20
- 9:35
= 13:45