ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Application.InputBox usage (https://www.excelbanter.com/excel-programming/419622-application-inputbox-usage.html)

ArthurJ

Application.InputBox usage
 
I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK

I am having trouble with the third possibility, where the user enters nothing.

Below is some of the code I have now:

Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
'If user enters nothing and clicks OK, Excel generates an info box about
'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
'with normal methods.

If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub

Thank you,
Art

Susan

Application.InputBox usage
 
Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)

'.............................new
coding................................
if myNum = "" then
msgbox "Please enter a number in the input box."
exit sub
end if
'................................................. ............................

'If user enters nothing and clicks OK, Excel generates an info box
about
'entering an incorrect formula. But it is NOT a VBA error so
cannot be
trapped
'with normal methods.


If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub


try that.
:)
susan


On Nov 6, 10:48*am, ArthurJ wrote:
I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK

I am having trouble with the third possibility, where the user enters nothing.

Below is some of the code I have now:

Sub GetNumber
* * Dim myNum As Variant
* * On Error Resume Next * *'This line seems to have no effect.
* * myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
* * 'If user enters nothing and clicks OK, Excel generates an info box about
* * 'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
* * 'with normal methods.

* * If myNum = False Then
* * * * MsgBox ("Cancel was chosen. Macro will end.")
* * * * Exit Sub
* * Else
* * * * MsgBox (myNum)
* * End If
End Sub

Thank you,
Art



Susan

Application.InputBox usage
 
nope.......... should have tested it before i posted it. still
triggers that excel error message. tried putting
Application.DisplayAlerts=false in there.... but that didn't help
because it got rid of the excel error message but didn't let the macro
continue.
sorry!
susan


On Nov 6, 11:09*am, Susan wrote:
Sub GetNumber
* * Dim myNum As Variant
* * On Error Resume Next * *'This line seems to have no effect.
* * myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)

'.............................newcoding........... .....................
* * if myNum = "" then
* * * * *msgbox "Please enter a number in the input box."
* * * * *exit sub
* * end if
'................................................. ..........................*..

* * 'If user enters nothing and clicks OK, Excel generates an info box
about
* * 'entering an incorrect formula. But it is NOT a VBA error so
cannot be
trapped
* * 'with normal methods.

* * If myNum = False Then
* * * * MsgBox ("Cancel was chosen. Macro will end.")
* * * * Exit Sub
* * Else
* * * * MsgBox (myNum)
* * End If
End Sub

try that.
:)
susan

On Nov 6, 10:48*am, ArthurJ wrote:



I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK


I am having trouble with the third possibility, where the user enters nothing.


Below is some of the code I have now:


Sub GetNumber
* * Dim myNum As Variant
* * On Error Resume Next * *'This line seems to have no effect.
* * myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
* * 'If user enters nothing and clicks OK, Excel generates an info box about
* * 'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
* * 'with normal methods.


* * If myNum = False Then
* * * * MsgBox ("Cancel was chosen. Macro will end.")
* * * * Exit Sub
* * Else
* * * * MsgBox (myNum)
* * End If
End Sub


Thank you,
Art- Hide quoted text -


- Show quoted text -



ArthurJ

Application.InputBox usage
 


"Susan" wrote:

nope.......... should have tested it before i posted it. still
triggers that excel error message. tried putting
Application.DisplayAlerts=false in there.... but that didn't help
because it got rid of the excel error message but didn't let the macro
continue.
sorry!


Susan, that's Ok! Same problem that tripped me up. Maybe I need to use one
of the other input boxes, not Application.InputBox.

Art
susan


On Nov 6, 11:09 am, Susan wrote:
Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)

'.............................newcoding........... .....................
if myNum = "" then
msgbox "Please enter a number in the input box."
exit sub
end if
'................................................. ..........................Â*..

'If user enters nothing and clicks OK, Excel generates an info box
about
'entering an incorrect formula. But it is NOT a VBA error so
cannot be
trapped
'with normal methods.

If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub

try that.
:)
susan

On Nov 6, 10:48 am, ArthurJ wrote:



I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK


I am having trouble with the third possibility, where the user enters nothing.


Below is some of the code I have now:


Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
'If user enters nothing and clicks OK, Excel generates an info box about
'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
'with normal methods.


If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub


Thank you,
Art- Hide quoted text -


- Show quoted text -




John

Application.InputBox usage
 
this may do what you are looking for:

Sub GetNumber()
Dim myNum As Variant

Application.DisplayAlerts = False

myNum = Application.InputBox(Prompt:="Enter A Number", Title:="Enter A
Number", Type:=1)

If VarType(myNum) = vbBoolean Then
If myNum = False Then
Debug.Print "cancelled"

MsgBox ("Cancel was chosen. Macro will end.")


Else

MsgBox myNum

End If

End If

Application.DisplayAlerts = True

End Sub

--
jb


"ArthurJ" wrote:

I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK

I am having trouble with the third possibility, where the user enters nothing.

Below is some of the code I have now:

Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
'If user enters nothing and clicks OK, Excel generates an info box about
'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
'with normal methods.

If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub

Thank you,
Art


Dave Peterson

Application.InputBox usage
 
By using application.inputbox and type:=1, you're telling excel that they have
to enter a number. This means that your code doesn't have to do anything to
check to see if the entry is a number.

If you don't want that warning message, then you can use:

myNum = inputbox(Prompt:="enter a number")

But now all the validation will be your responsibility.



ArthurJ wrote:

I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK

I am having trouble with the third possibility, where the user enters nothing.

Below is some of the code I have now:

Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
'If user enters nothing and clicks OK, Excel generates an info box about
'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
'with normal methods.

If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub

Thank you,
Art


--

Dave Peterson

John

Application.InputBox usage
 
typed it too fast! Put the MsgBox myNum in wrong place!!

Sub GetNumber()
Dim myNum As Variant

Application.DisplayAlerts = False

myNum = Application.InputBox(Prompt:="Enter A Number", Title:="Enter A
Number", Type:=1)

If VarType(myNum) = vbBoolean Then

If myNum = False Then
Debug.Print "cancelled"

MsgBox ("Cancel was chosen. Macro will end.")


End If

Else

MsgBox myNum

End If



Application.DisplayAlerts = True

End Sub
--
jb


"john" wrote:

this may do what you are looking for:

Sub GetNumber()
Dim myNum As Variant

Application.DisplayAlerts = False

myNum = Application.InputBox(Prompt:="Enter A Number", Title:="Enter A
Number", Type:=1)

If VarType(myNum) = vbBoolean Then
If myNum = False Then
Debug.Print "cancelled"

MsgBox ("Cancel was chosen. Macro will end.")


Else

MsgBox myNum

End If

End If

Application.DisplayAlerts = True

End Sub

--
jb


"ArthurJ" wrote:

I want the user to input a number. I want to handle the three possible
situations:
1. User enters number
2. User clicks Cancel
3. User enters nothing and clicks OK

I am having trouble with the third possibility, where the user enters nothing.

Below is some of the code I have now:

Sub GetNumber
Dim myNum As Variant
On Error Resume Next 'This line seems to have no effect.
myNum = Application.InputBox(Prompt:="Enter a number", Type:=1)
'If user enters nothing and clicks OK, Excel generates an info box about
'entering an incorrect formula. But it is NOT a VBA error so cannot be
trapped
'with normal methods.

If myNum = False Then
MsgBox ("Cancel was chosen. Macro will end.")
Exit Sub
Else
MsgBox (myNum)
End If
End Sub

Thank you,
Art



All times are GMT +1. The time now is 03:10 PM.

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