기초부터 실전까지 VBA 엑셀13 - 조건문 Select Case
<VBA 엑셀13 - 조건문 Select case>
이번에는 if 조건문과 조금 다른 Selece Case라는 조건문에 대해 알아보겠습니다.
사실 이 Select ~ Case는 ElseIf과 매우 비슷합니다.
하지만 조건이 많을 경우 Select Case가 훨씬 유리한데요
그 이유는 코딩이 짧아지고 직관성이 높아지기 때문입니다.
1. 기본형
기본 형태는 아래와 같습니다.
그럼 이제 하나씩 살펴보도록 하죠
Select Case testexpression [Case expressionlist-n [statements-n]] ... [Case Else [elsestatements]] End Select |
testexpression | 반드시 지정해야합니다. 주로 변수를 지정합니다. |
expressionlist-n | "testexpression"에서 지정한 변수가 만족할 조건을 입력합니다. |
statements-n | 선택 사항입니다. "expressionlist-n"이 만족될 경우 실행할 코딩을 적는 구간입니다. |
elsestatements | 선택 사항입니다. 인수 testexpression이 모든 Case 절과 일치하지 않을 때, 실행할 코딩을 적는 구간입니다. |
2. 예문
① 기본형
Select Case i `i는 여기서 변수 Case 1 'i=1일때 처리 Case 2 'i=2일때 처리 Case Else 'i가 위의 조건을 만족하지 않을때 처리 End Select |
② Or 조건
Select Case i `i는 여기서 변수 Case 1, 2 'i=1 or 2일때 처리 Case 3, 4 'i=3 or 4일때 처리 Case Else 'i가 위의 조건을 만족하지 않을때 처리 End Select |
③ 범위 지정
Select Case i `i는 여기서 변수 Case 1 To 3 'i= 1~3일때 처리 Case 4 To 6 'i= 4~6일때 처리 Case Else 'i가 위의 조건을 만족하지 않을때 처리 End Select |
④ 부등호 사용
Select Case i `i는 여기서 변수 Case Is < 2 'i < 2일때 처리 Case Is >=5 'i >= 5일때 처리 Case Else 'i가 위의 조건을 만족하지 않을때 처리 End Select |
주로 위와 같이 4개의 경우를 이용하여 사용할 수 있습니다.
그럼 마지막으로 If 조건문에서 사용한 예제를 Select Case를 이용하여 표현해보고 마치겠습니다.
<If절을 사용한 조건문>
Sub if1() If Cells(1, 1) >= 100 Then Cells(1, 2) = "○" Else Cells(1, 2) = "×" End If End Sub |
<Select Case를 사용한 조건문>
Sub select1() Select Case Cells(1, 1) Case Is >= 100 Cells(1, 2) = "○" Case Else Cells(1, 2) = "X" End Select End Sub |
위와 같이 동일한 결과를 다른 프로그램을 이용하여 만들 수 있습니다.
다음에는 신기한 MsgBox라는 것에 대해 알아보겠습니다!
'IT 관련 지식 > VBA 공부' 카테고리의 다른 글
기초부터 실전까지 VBA 엑셀15 - 입력 상자 InputBox (0) | 2019.11.05 |
---|---|
기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox (0) | 2019.11.03 |
기초부터 실전까지 VBA 엑셀12 - 조건문 If ~ ElseIf (0) | 2019.10.31 |
기초부터 실전까지 VBA 엑셀10 - 마지막 행 얻기(End) (0) | 2019.10.25 |
기초부터 실전까지 VBA 엑셀9 - 반복문 Do ~ Loop (1) | 2019.10.24 |