ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Validate User Input in Dialog box (https://www.excelbanter.com/excel-programming/434233-validate-user-input-dialog-box.html)

Dee Sperling[_2_]

Validate User Input in Dialog box
 
I'm using the following to prompt the user for the starting 5 digit code in a
list.

StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)")

Once I get the value, I put it in the approprate cell, increment it by one,
and keep cascading to the cells below, based on a value in another cell on
the same row, different column.

This works great, but I was wondering if there was a way to
1) Prevent the user from canceling out of the Input box.
2) Validate the input value so that if the user enters other than exactly 5
digits, it will generate an info box and force them to re-input.
3) Not error out if a letter is entered in the box. The user knows that
they are only supposed to enter digits, but if they do a typo, it goes to
Debug, and it would be better if the program would simply dicard the value
and present the input box again.

Thanks for any suggestions,
Dee

p45cal[_135_]

Validate User Input in Dialog box
 

Dee Sperling;505278 Wrote:
I'm using the following to prompt the user for the starting 5 digit code
in a
list.

StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)")

Once I get the value, I put it in the approprate cell, increment it by
one,
and keep cascading to the cells below, based on a value in another cell
on
the same row, different column.

This works great, but I was wondering if there was a way to
1) Prevent the user from canceling out of the Input box.
2) Validate the input value so that if the user enters other than
exactly 5
digits, it will generate an info box and force them to re-input.
3) Not error out if a letter is entered in the box. The user knows
that
they are only supposed to enter digits, but if they do a typo, it goes
to
Debug, and it would be better if the program would simply dicard the
value
and present the input box again.

Thanks for any suggestions,
Dee


Do
StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)", Type:=1)
If Len(StartingNum) < 5 Then MsgBox "5 digits please!"
'If StartingNum = "False" Then MsgBox "tee hee"
Loop Until Len(StartingNum) = 5 And StartingNum < "False"


--
p45cal

*p45cal*
------------------------------------------------------------------------
p45cal's Profile: http://www.thecodecage.com/forumz/member.php?userid=558
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=138953


Mike H

Validate User Input in Dialog box
 
Hi,

You could try this

Sub GetNum()
Dim Flag As Boolean
Flag = False
Dim StartingNum As Long
Do
On Error Resume Next
StartingNum = InputBox("Enter the 5 digit number", _
"Enter Starting Number (5 digits only)")
If IsNumeric(StartingNum) And StartingNum = 10000 Then
Flag = True
Else
MsgBox "The only valid input is a 5 digit number"
End If
Loop Until Flag = True

End Sub

Mike

"Dee Sperling" wrote:

I'm using the following to prompt the user for the starting 5 digit code in a
list.

StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)")

Once I get the value, I put it in the approprate cell, increment it by one,
and keep cascading to the cells below, based on a value in another cell on
the same row, different column.

This works great, but I was wondering if there was a way to
1) Prevent the user from canceling out of the Input box.
2) Validate the input value so that if the user enters other than exactly 5
digits, it will generate an info box and force them to re-input.
3) Not error out if a letter is entered in the box. The user knows that
they are only supposed to enter digits, but if they do a typo, it goes to
Debug, and it would be better if the program would simply dicard the value
and present the input box again.

Thanks for any suggestions,
Dee


p45cal[_139_]

Validate User Input in Dialog box
 

p45cal;505395 Wrote:
Do
StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)", Type:=1)
If Len(StartingNum) < 5 Then MsgBox "5 digits please!"
'If StartingNum = "False" Then MsgBox "tee hee"
Loop Until Len(StartingNum) = 5 And StartingNum < "False"


Actually, this may fall over if the numbers can begin with a zero(s);
can they?


--
p45cal

*p45cal*
------------------------------------------------------------------------
p45cal's Profile: http://www.thecodecage.com/forumz/member.php?userid=558
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=138953


Dee Sperling[_2_]

Validate User Input in Dialog box
 
The user says not, so I'll take her word for it. This works great, thanks.

"p45cal" wrote:


p45cal;505395 Wrote:
Do
StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)", Type:=1)
If Len(StartingNum) < 5 Then MsgBox "5 digits please!"
'If StartingNum = "False" Then MsgBox "tee hee"
Loop Until Len(StartingNum) = 5 And StartingNum < "False"


Actually, this may fall over if the numbers can begin with a zero(s);
can they?


--
p45cal

*p45cal*
------------------------------------------------------------------------
p45cal's Profile: http://www.thecodecage.com/forumz/member.php?userid=558
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=138953



Dee Sperling[_2_]

Validate User Input in Dialog box
 
This lets me enter 5 or more digits, but does what's needed if the entry is
non-numeric or shorter than 5 digits.

Dee

"Mike H" wrote:

Hi,

You could try this

Sub GetNum()
Dim Flag As Boolean
Flag = False
Dim StartingNum As Long
Do
On Error Resume Next
StartingNum = InputBox("Enter the 5 digit number", _
"Enter Starting Number (5 digits only)")
If IsNumeric(StartingNum) And StartingNum = 10000 Then
Flag = True
Else
MsgBox "The only valid input is a 5 digit number"
End If
Loop Until Flag = True

End Sub

Mike

"Dee Sperling" wrote:

I'm using the following to prompt the user for the starting 5 digit code in a
list.

StartingNum = Application.InputBox("Enter the 5 digit number", "Enter
Starting Number (5 digits only)")

Once I get the value, I put it in the approprate cell, increment it by one,
and keep cascading to the cells below, based on a value in another cell on
the same row, different column.

This works great, but I was wondering if there was a way to
1) Prevent the user from canceling out of the Input box.
2) Validate the input value so that if the user enters other than exactly 5
digits, it will generate an info box and force them to re-input.
3) Not error out if a letter is entered in the box. The user knows that
they are only supposed to enter digits, but if they do a typo, it goes to
Debug, and it would be better if the program would simply dicard the value
and present the input box again.

Thanks for any suggestions,
Dee



All times are GMT +1. The time now is 06:20 AM.

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