how do i use array of values for dim statement

V

vbidiot

How do I simplify the code below instead of putting all of the different
strings together? I want it to say if MyStr does not equal 1 or 4 or 7
or 10 then message box appears. I'm doing it the long way...I know
there's a shorter way.



Code:
--------------------
Dim AnyString, MyStr
AnyString = Range("assignment")
MyStr = Right(AnyString, 1)
If MyStr = 2 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 3 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 5 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 6 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 8 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 9 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 11 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
If MyStr = 12 Then
MsgBox ("Assignment number must end with 1,4,7,10,13")
Exit Sub
End If
 
T

Tom Ogilvy

For single digits:

if mystr like "[235689]" then



However, you can't get the single right most character and check if it
equals "10", "11", "12", or "13"

Also, if the single right most character is 3, why couldn't it end in 13.
You have to differentiate.

Think you need to rethink your logic
 
V

vbidiot

You're right...I didn't even think about I included two digits as well
as single digits. Thanks!
 

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