표현식 값에 따라 여러 명령문 그룹 중 하나를 실행합니다.
구문
Select Case testexpression
[Case expressionlist-n
[statements-n]] . . .
[Case Else
[elsestatements-n]]
End Select
인수:
Testexpression: 숫자 또는 문자열 표현식입니다.
expressionlist-n: Case가 있으면 필수입니다. 쉼표로 구분된 하나 이상의 표현식 목록입니다.
statements-n: testexpression이 expressionlist-n의 일부와 일치하는 경우 하나 이상의 명령문이 실행됩니다.
elsestatements-n: testexpression이 Case 절과 일치하지 않을 경우 실행되는 하나 이상의 명령문입니다.
주석
testexpression이 Case expressionlist 표현식과 일치하는 경우, Case 절 다음에 나오는 명령문은 End Select까지 다음 Case 절 또는 마지막 절까지 실행됩니다. 그런 다음 제어는 End Select 이후의 명령문으로 전달됩니다. testexpression이 2개 이상 Case 절의 expressionlist 표현식과 일치하는 경우에는 첫번째 일치 이후의 명령문만 실행됩니다.
Case Else 절은 testexpression과 다른 Case 선택 항목의 expressionlist 간에 일치하는 항목을 찾을 수 없는 경우 실행할 elsestatements를 나타내는 데 사용됩니다. 필수는 아니지만, Select Case 블록에 예상치 않은 testexpression 값을 처리하기 위한 Case Else 문이 있는 것이 좋습니다. testexpression과 일치하는 Case 표현식 목록이 없고 Case Else 문이 없는 경우 End Select 다음 명령문에서 실행이 계속됩니다.
Select Case 명령문은 중첩될 수 있습니다. 중첩된 각 Select Case 명령문에는 일치하는 End Select 명령문이 있어야 합니다.
다음 예는 Select Case 명령문의 사용을 보여줍니다.
예 1:
Dim dayOfWeek
Dim result
' Assign the day of the week (can be any number between 1 and 7)
dayOfWeek = 3 ' 1 = Sunday, 2 = Monday, ..., 7 = Saturday
' Use Select Case to check the value of dayOfWeek
Select Case dayOfWeek
Case 1
result = "Sunday"
Case 2
result = "Monday"
Case 3
result = "Tuesday"
Case 4
result = "Wednesday"
Case 5
result = "Thursday"
Case 6
result = "Friday"
Case 7
result = "Saturday"
Case Else
result = "Invalid day"
End Select
' Now, result will contain the name of the day corresponding to dayOfWeek ( Tuesday in this case )