Avoiding error on Input Box - if no value is entered

D

dhstein

I have a line like this:

MyData = InputBox(Prompt:="Enter Data", Title:="ENTER Data")

If the user selects "Cancel", I get a Run-time error 13 - Type Mismatch.
How can I avoid this error when the user selects cancel ? Thanks for any
help on this.
 
G

Gary''s Student

InputBox will return 0 if Cancel is pressed.

Make sure you have Dim'ed MyData so as to accept 0
 
J

Jacob Skaria

Check the result and Exit Sub

MyData = InputBox(Prompt:="Enter Data", Title:="ENTER Data")
If Trim(MyData) = "" Then Exit Sub

OR

If you want to force the user to enter something then keep this within a loop

Do
MyData = InputBox(Prompt:="Enter Data", Title:="ENTER Data")
Loop Until Trim(MyData) <> ""


If this post helps click Yes
 
G

Gary''s Student

Sorry about the first post, ignore it. Try:

Sub qwerty()
x = InputBox(prompt:="feed me")
MsgBox (x)
x = Application.InputBox(prompt:="feed me")
MsgBox (x)
End Sub

The first call will return a null string.
The second call will retrun FALSE.

So MyData must be Dim'ed to handle the null string.
 
J

Jacob Skaria

Oops..If that is a type mismatch check your declaration and adjust the code
as below to handle blanks

Dim mydata As Integer
mydata = CInt("0" & InputBox(Prompt:="Enter Data", Title:="ENTER Data"))


If this post helps click Yes
 
D

dhstein

Thanks for all the responses. I used Gary's method, Dim'ed the variable as
Variant and it's working.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top