ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   What is wrong with this? (https://www.excelbanter.com/excel-programming/347659-what-wrong.html)

Conan Kelly

What is wrong with this?
 
Hello all,

Here is my code:



Public Sub EnterTime()
Dim pdteInputBox As Date

gintMsgBoxResponse = MsgBox("The current time is: " _
& Format(Time, "h:mm AM/PM") & "." & vbCrLf & vbCrLf _
& "Would you like to enter this time?", vbQuestion + _
vbYesNo, "Current Time")

If gintMsgBoxResponse = vbYes Then
ActiveCell.Value = Time
Else
pdteInputBox = TimeValue(InputBox("Please enter the correct
time.", _
"Time", Format(Time, "h:mm AM/PM")))

If pdteInputBox = "" Then
Exit Sub
Else
ActiveCell.Value = pdteInputBox
End If
End If

gintMsgBoxResponse = 0
End Sub




The problem I'm having is if I answer "No" to the message box and then
enter a time (9:03) in the input box and hit "OK", I get a "Run-time
error '13': Type mismatch".

I also noticed that I got the same error when I hit "Cancel" on the
input box.

Any help would be greatly appreciated,

Conan Kelly



Tom Ogilvy

What is wrong with this?
 
try changing

If pdteInputBox = "" Then


to


If pdteInputBox = 0 Then


--
Regards,
Tom Ogilvy


"Conan Kelly" <CTBarbarin at msn dot com wrote in message
...
Hello all,

Here is my code:



Public Sub EnterTime()
Dim pdteInputBox As Date

gintMsgBoxResponse = MsgBox("The current time is: " _
& Format(Time, "h:mm AM/PM") & "." & vbCrLf & vbCrLf _
& "Would you like to enter this time?", vbQuestion + _
vbYesNo, "Current Time")

If gintMsgBoxResponse = vbYes Then
ActiveCell.Value = Time
Else
pdteInputBox = TimeValue(InputBox("Please enter the correct
time.", _
"Time", Format(Time, "h:mm AM/PM")))

If pdteInputBox = "" Then
Exit Sub
Else
ActiveCell.Value = pdteInputBox
End If
End If

gintMsgBoxResponse = 0
End Sub




The problem I'm having is if I answer "No" to the message box and then
enter a time (9:03) in the input box and hit "OK", I get a "Run-time
error '13': Type mismatch".

I also noticed that I got the same error when I hit "Cancel" on the
input box.

Any help would be greatly appreciated,

Conan Kelly





Tim Williams

What is wrong with this?
 
Try

If CStr(pdteInputBox) = "" Then
.....

You might think about skipping the first messagebox and just always popping
up the input with the current time pre-filled.
It's less code, just as quick for your user as your "two-pronged" approach,
and minimizes the number of different UI prompts the user has to get used
to.

Tim


--
Tim Williams
Palo Alto, CA


"Conan Kelly" <CTBarbarin at msn dot com wrote in message
...
Hello all,

Here is my code:



Public Sub EnterTime()
Dim pdteInputBox As Date

gintMsgBoxResponse = MsgBox("The current time is: " _
& Format(Time, "h:mm AM/PM") & "." & vbCrLf & vbCrLf _
& "Would you like to enter this time?", vbQuestion + _
vbYesNo, "Current Time")

If gintMsgBoxResponse = vbYes Then
ActiveCell.Value = Time
Else
pdteInputBox = TimeValue(InputBox("Please enter the correct
time.", _
"Time", Format(Time, "h:mm AM/PM")))

If pdteInputBox = "" Then
Exit Sub
Else
ActiveCell.Value = pdteInputBox
End If
End If

gintMsgBoxResponse = 0
End Sub




The problem I'm having is if I answer "No" to the message box and then
enter a time (9:03) in the input box and hit "OK", I get a "Run-time
error '13': Type mismatch".

I also noticed that I got the same error when I hit "Cancel" on the
input box.

Any help would be greatly appreciated,

Conan Kelly





Conan Kelly

What is wrong with this?
 
Tom,

Thanks. That solved the first problem. But I'm still getting the
error message if I hit "Cancel" on the input box.

Thanks again for the help,

Conan




"Tom Ogilvy" wrote in message
...
try changing

If pdteInputBox = "" Then


to


If pdteInputBox = 0 Then


--
Regards,
Tom Ogilvy


"Conan Kelly" <CTBarbarin at msn dot com wrote in message
...
Hello all,

Here is my code:



Public Sub EnterTime()
Dim pdteInputBox As Date

gintMsgBoxResponse = MsgBox("The current time is: " _
& Format(Time, "h:mm AM/PM") & "." & vbCrLf & vbCrLf _
& "Would you like to enter this time?", vbQuestion + _
vbYesNo, "Current Time")

If gintMsgBoxResponse = vbYes Then
ActiveCell.Value = Time
Else
pdteInputBox = TimeValue(InputBox("Please enter the correct
time.", _
"Time", Format(Time, "h:mm AM/PM")))

If pdteInputBox = "" Then
Exit Sub
Else
ActiveCell.Value = pdteInputBox
End If
End If

gintMsgBoxResponse = 0
End Sub




The problem I'm having is if I answer "No" to the message box and
then
enter a time (9:03) in the input box and hit "OK", I get a
"Run-time
error '13': Type mismatch".

I also noticed that I got the same error when I hit "Cancel" on the
input box.

Any help would be greatly appreciated,

Conan Kelly







Tom Ogilvy

What is wrong with this?
 
Public Sub EnterTime()
Dim pdteInputBox As Date

gintMsgBoxResponse = MsgBox("The current time is: " _
& Format(Time, "h:mm AM/PM") & "." & vbCrLf & vbCrLf _
& "Would you like to enter this time?", vbQuestion + _
vbYesNo, "Current Time")

If gintMsgBoxResponse = vbYes Then
ActiveCell.Value = Time
Else
On Error Resume Next
pdteInputBox = TimeValue(InputBox("Please enter the correct time.",
_
"Time", Format(Time, "h:mm AM/PM")))
On Error goto 0
If pdteInputBox = 0 Then
Exit Sub
Else
ActiveCell.Value = pdteInputBox
End If
End If

gintMsgBoxResponse = 0
End Sub

--
Regards,
Tom Ogilvy


"Conan Kelly" <CTBarbarin at msn dot com wrote in message
...
Tom,

Thanks. That solved the first problem. But I'm still getting the
error message if I hit "Cancel" on the input box.

Thanks again for the help,

Conan




"Tom Ogilvy" wrote in message
...
try changing

If pdteInputBox = "" Then


to


If pdteInputBox = 0 Then


--
Regards,
Tom Ogilvy


"Conan Kelly" <CTBarbarin at msn dot com wrote in message
...
Hello all,

Here is my code:



Public Sub EnterTime()
Dim pdteInputBox As Date

gintMsgBoxResponse = MsgBox("The current time is: " _
& Format(Time, "h:mm AM/PM") & "." & vbCrLf & vbCrLf _
& "Would you like to enter this time?", vbQuestion + _
vbYesNo, "Current Time")

If gintMsgBoxResponse = vbYes Then
ActiveCell.Value = Time
Else
pdteInputBox = TimeValue(InputBox("Please enter the correct
time.", _
"Time", Format(Time, "h:mm AM/PM")))

If pdteInputBox = "" Then
Exit Sub
Else
ActiveCell.Value = pdteInputBox
End If
End If

gintMsgBoxResponse = 0
End Sub




The problem I'm having is if I answer "No" to the message box and
then
enter a time (9:03) in the input box and hit "OK", I get a
"Run-time
error '13': Type mismatch".

I also noticed that I got the same error when I hit "Cancel" on the
input box.

Any help would be greatly appreciated,

Conan Kelly










All times are GMT +1. The time now is 09:43 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com