IF조건절의 4가지 형태(사용법) 알아보기
엑셀에서 IF는 특정 조건을 통해 원하는 데이터만을 추출하는 역할을 하죠. 마찬가지로 VBA의 IF도 조건을 걸래는 역할을 하는데요. VBA에서 사용되는 IF의 4가지 형태를 알아보고, 예시를 통해 확실한 나의 것으로 만들어 보세요.
VBA 범위 선택하기를 총 6탄에 걸쳐서 알아보았는데요. 가장 기본이 되는 범위선택 방법에 대해 숙지하였기 때문에 지금부터는 실제 업무에 적용이 가능한 것들을 위주로 학습해 보려고 해요.
오늘은 VBA에서 IF가 어떻게 사용되는지를 4가지로 분류하여 알아보도록 할게요. IF조건절의 경우에는 엑셀에서 사용되는 IF함수와 동일한 로직으로 작동하기 때문에 쉽게 이해하실 수 있어요. 자 그럼 시작해 보시죠~!
IF를 사용하여 조건에 맞는 데이터 입력하기
IF절은 크게 4가지로 분리되어 사용될 수 있는데요. 예시를 통해 어떻게 사용되는지 알아보도록 할게요.
Sub IF조건문() '첫번째 예시 If Range("A2") > 1 Then MsgBox "1보다 큽니다." ' 만약 A2셀의 값이 1보다 크면 "1보다 큽니다."를 출력합니다. _____________________________________________________________ '두번째 예시 If Range("A2") > 1 Then ' 만약 A2셀의 값이 1보다 크면 MsgBox "1보다 큽니다." "1보다 큽니다."를 출력하고 종료합니다. End If _____________________________________________________________ '세번째 예시 If Range("A2") > 1 Then MsgBox "1보다 큽니다." ' 만약 A2셀의 값이 1보다 크면 "1보다 큽니다."를 출력하고, Else MsgBox "1보다 작습니다." 'A2셀이 1이하일 경우에는 "1보다 작습니다."를 출력합니다. End If _____________________________________________________________ '네번째예시 If Range("a2") >= 7 Then Range("b2") = "합격" ' A2셀의 값이 7이상이면 "합격"을 출력 ElseIf Range("a2") >= 5 Then Range("b2") = "재시험" 'A2셀의 값이 5이상 6이하이면 "재시험"을 출력 Else Range("b2") = "탈락" ' A2셀의 값이 5미만이면 "탈락"을 출력함. End If End Sub |
4가지의 사용법이라고 기술을 하긴 했지만, 사실 같은 내용을 방법을 다르게 한 것에 불과해요.
IF절의 기본 문법은 "IF 조건 then 출력 end if" 형태로 사용되죠. 하지만 Then 옆에 출력 값을 바로 적어주게 되면
end if를 생략할 수 있어요. 줄바꿈을 하면 end if를 필요!, 줄바꿈을 하지 않고 바로 사용하면 end if 불필요!
이렇게 첫 번째와 두번째 예시의 차이점을 이해하시면 될 것 같아요.
첫번째 예시는 If Range("A2") > 1 Then MsgBox "1보다 큽니다."인데요.
A2셀의 값이 1보다 크면 메시지 박스를 통해 "1보다 큽니다."를 출력해 줍니다.
그럼 두번째 예시는 어떨까요? 맞아요. 첫번째 예시와 동일하게 "1보다 큽니다."가 출력되게 되는데요.
둘의 차이점은 행을 변경하여 end if를 사용했냐 안했냐의 차이에 불과하죠.
그럼 이번엔 세번째 예시를 볼까요!
A2셀의 값이 1보다 크면 메시지 박스로 "1보다 큽니다."를 출력, 그렇지 않으면 "1보다 작습니다."를 출력하는 코드죠.
IF의 기본 문법에서 Else를 사용하여 조건에 미충족 될 경우 출력되는 결과값을 표시해 주고 있어요.
마지막 네번째 예시도 한번 보시죠! 위에서부터 순서대로 진행된다고 생각하시면 편하실 것 같아요.
If Range("a2") >= 7 Then Range("b2") = "합격"은 A2셀의 값이 7이상이면 "합격"을 출력하겠다는 것을 말하며,
ElseIf Range("a2") >= 5 Then Range("b2") = "재시험"은 A2셀의 값이 5이상 6이하이면 "재시험"을 출력하겠다는 것을 말해요.
Else Range("b2") = "탈락"의 경우는 첫번째, 두번째 조건에 만족하지 못하는 항목들을 "탈락"으로 출력하겠다는 것이죠.
자 그럼 지금까지 4번째 예시로 사용한 합격여부의 코딩 결과를 살펴볼까요?
마치며
VBA에서 사용된 IF조건절의 경우는 엑셀에서 사용된 IF와 동일하게 적용되기 때문에 부담 없이 학습하셨을 거라 생각해요. VBA는 지식이나 기술이기보다는 기능에 가까움으로 반복적인 연습을 통해 내 것으로 만들어야 해요. 포기하지 말고 끝까지 학습하셔서 VBA를 나만의 무기로 활용해 보세요! 다음 포스팅은 반복문을 사용하는 방법에 대해 설명드릴 예정입니다. 반복문과 IF을 함께 사용하면 자동화 시트를 효율적으로 구축할 수 있으니, 반복문 학습도 꼭 하시길 당부드립니다.
▼▼▼함께 보면 좋은 글▼▼▼
칼퇴의 기술은 VBA에서부터 시작된다!
댓글