InputBox Method Logic Problem

E

ExcelMonkey

I am using the inputbox method to take a number from a user. I want th
inputbox to do the following:

1) if the user does not enter anything, exit sub
2) if the user picks a number > 254, disallow it and start again
3) if user picks number <= 254 then proceed

How do I set this code up so that if the user picks >254 then it wil
take the user back the to the initial IF Statment? As modeled, it onl
prompts them once and then proceeds with anwer.


Dim NumberofColumns As Integer
Dim BMax As Integer


NumberofColumns = Application.InputBox(prompt:="Enter Number of 2
Elements", Type:=1)
If NumberofColumns = False Then
MsgBox ("Operation Canceled")
Exit Sub
ElseIf NumberofColumns > 254 Then
MsgBox ("You cannot enter a number bigger than 254. Tr
again.")
NumberofColumns = Application.InputBox(prompt:="Enter Number o
2D Elements", Type:=1)
Else
BMax = NumberofColumns
End I
 
J

JMay

The InputBox() returns a string; you might have to work with the Value()
function to
get it converted..
HTH
 
D

Darren Hill

The following worked when I tested it.

Sub Test1()
Dim NumberofColumns As Integer
Dim BMax As Integer
Dim InputErrorCheck As Boolean

InputErrorCheck = False
Do While InputErrorCheck = False

NumberofColumns = Application.InputBox(prompt:="Enter Number of 2D
Elements", Type:=1)

If IsNumeric(NumberofColumns) Then
If NumberofColumns <= 254 And NumberofColumns > 0 Then
' I assumed to wanted more than zero - easily altered if not.
InputErrorCheck = True
End If
End If
If NumberofColumns = False Then
MsgBox ("Operation Canceled")
Exit Sub
End If
Loop
MsgBox (NumberofColumns)
End Sub
 

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