You can use the Select Case statement instead of multiple ElseIf statements in an If...Then structure when you want to compare the same expression with several different values. A Select Case statement provides a decision-making capability similar to the If...Then...Else statement, but it makes code more efficient and readable.
For instance, to add several more job classifications to the example in the preceding section, you can add more ElseIf statements, or you can write the function using a Select Case statement, as in the following code.
Function Bonus(jobClass, salary, rating) Select Case jobClass Case 1 Bonus = salary * 0.1 * rating / 10 Case 2 Bonus = salary * 0.09 * rating / 10 Case 3 Bonus = salary * 0.07 * rating / 10 Case 4, 5 'The expression list can contain several values... Bonus = salary * 0.05 * rating / 5 Case 6 To 8 '...or be a range of values Bonus = 150 Case Is > 8 '...or be compared to other values Bonus = 100 Case Else Bonus = 0 End Select End Function
Notice that the Select Case structure evaluates a single expression at the top of the structure. In contrast, the If...Then...ElseIf structure can evaluate a different expression for each ElseIf statement. You can replace an If...Then...ElseIf structure with a Select Case structure only if each ElseIf statement evaluates the same expression.