Select case syntax for continuous range values?

K

ker_01

I know you can use Select case statements to cover a range of integer
values, such as:

Case 100 To 500
Case 501 to 650
etc

However, I'm not clear on how to work with non-integer values to ensure that
every possible value is covered, while ensuring no overlap in categories.
With an IF statement I might use:

If x >100 and x <=500
elseif x >500 and x <=650

which would properly assign a value of 500.4395 to the second condition

Is there a way to do this with select case? Or is my best option to try to
use more decimals than the data might need, e.g.

Case 100 To 500
Case 500.000001 to 650

Thank you,
Keith
 
R

Ryan H

You can step thru the code below that I gave and you'll see that the case
where x = 500.4395 the Select Case Statement will work. Change the x
variable to whatever you like and you'll see.

Sub Select_Case()

Dim x As Double

x = 500.4395

Select Case x
Case Is <= 100
MsgBox "x is Less than 100"
Case 100 To 500
MsgBox "x is Between 100-500"
Case 500 To 650
MsgBox "x is Between 500-650"
Case 650 To 1000
MsgBox "x is Between 650-1000"
Case Else
MsgBox "x is Greater than 1000"
End Select

End Sub

Excel VBA evaluates each Case to see if it is true before moving to the next
Case. If the Case is true your code under the Case is executed, if False the
next Case is evaluated.

Hope this helps! If so, click "YES" below.
 

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