Ошибка несоответствия типов при вызове подпроцедуры - PullRequest
0 голосов
/ 02 июня 2019

Я получаю два ввода от пользователя 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...