<OT
Dredging the recesses of my memory, the "1 or 2 or 3 or 4" idiom
used to be (probably still is for all I know...) valid in COBOL:
IF THING = 1 OR 2 OR 3 OR 4....
as an abbreviation for IF THING = 1 OR THING = 2 OR ....
You could even put NOTs in there, which was guaranteed to
catch the unwary, who would write:
IF THING NOT = 1 OR 2...
which unfortunately means IF THING NOT = 1 OR THING NOT = 2..
</OT
Dave Peterson wrote:
Excellent tip.
But I did want to show the OP why his (her?) if statement was incorrect.
Andrew Taylor wrote:
I think there's a good case (haha) for using Select Case
in this sort of situation:
Select Case shp
Case 1, 2, 3, 4
shpSw =1
Case Else
Msgbox("Please enter a number from 1-4")
End Select
Dave Peterson wrote:
I'd guess it was this line:
if shp = 1 or 2 or 3 or 4 then
I think you want:
if shp = 1 _
or shp = 2 _
or shp = 3 _
or shp = 4 then
mjack003 wrote:
Howdy,
Can someone tell me why this loop accepts any value rather than the set
constants?
Dim shp as Long
Dim shpSw as Integer
Do while shpSw = 0
shp = inputbox("Please enter a number:")
if shp = 1 or 2 or 3 or 4 then
shpSw =1
else
Msgbox("Please enter a number from 1-4")
end if
Loop
Should be a simple loop that if say "5" is entered will give the msgbox
and loop but it is accepting 5 and setting my switch to 1.
Thanks for the help in advance,
Mjack
--
mjack003
------------------------------------------------------------------------
mjack003's Profile: http://www.excelforum.com/member.php...fo&userid=5141
View this thread: http://www.excelforum.com/showthread...hreadid=494023
--
Dave Peterson
--
Dave Peterson