[VB/VBA] IF 조건문 사용 방법 개념 정리

VB 에서 가장 많이 사용되는 조건문인 If 조건문을 사용하는 방법을 정리해 보았습니다.

If 문 개념 및 기본 사용방법

If 문은 사용자가 조건을 주고 그 조건 결과에 따라 다른 업무를 수행 해야 할 때 사용합니다. 기본적인 사용 방법은 아래와 같습니다.

If (조건) Then
    '조건 만족시 수행할 업무
End If

조건을 만족 하면 업무를 수행하고 그렇지 않으면 아무일도 벌어지지 않습니다. 조금더 직관적인 예시를 들자면 아래와 같습니다.

If A > 0 Then
    Msgbox "A는 0 보다 큽니다."
End If

A 라는 변수에 숫자가 들어가 있고, 그 값이 0 보다 크다면(조건이 True 라면) 메시지박스를 사용자에게 보여주는 것입니다.

만약 A 가 숫자가 아니라면? 조건문을 판단할 수가 없기 때문에 오류인 상황입니다.

만약 A 가 숫자이지만 0 혹은 0 보다 작다면 조건문을 판단할 수는 있지만 조건에 부합하지 않으므로 If 문의 결과는 False 이고 메시지박스는 출력 되지 않습니다.

Else 사용하기

위 예제에서 A 가 0 보다 작은 경우에도 특정 업무를 수행하게 하려면 아래 처럼 Else 를 사용하면 됩니다.

If A > 0 Then
    Msgbox "A는 0 보다 큽니다."
Else
    Msgbox "A는 0 혹은 0 보다 작습니다."
End If

Else 는 사용자가 지정한 조건을 판단할 수 있으면서 그 값이 FALSE 일때를 발동 됩니다.

ElseIf 사용하기

한가지 조건문을 지정했고, 해당 조건이 False 일때 또 다른 조건을 지정하고 싶다면 ElseIf 를 사용할 수 있습니다.

If A > 0 Then
    Msgbox "A는 0 보다 큽니다."
ElseIf A = 0 THEN
    Msgbox "A는 0 입니다."
Else
    Msgbox "A는 0 보다 작습니다."
END IF

위 예제는 먼저 A 가 0 보다 클 경우를 만족하는지 확인하고, 그렇지 않다면 A 가 0 인지 확인(ElseIf)한 다음 그것도 아니라면(Else) A 가 0 보다 작다고 사용자에게 알려주는 것입니다.

주의사항

올바른 변수 형식 지정 필요

여기서 주의할 점은 조건에 들어가는 변수의 형식에 따라 다른 결과가 나올 수도 있다는 것입니다.

예를 들어 위 If 문에서 사용된 A 라는 변수를 숫자형식인 Integer 나 Double 이 아닌 Variant 로 설정할 후 A 에 “Test” 라는 값을 넣어 놓았다고 해봅시다.

Dim A As Variant
A = "Test"
If A > 0 Then
    Msgbox "A 는 0 보다 큽니다."
End If

위 코드를 적당히 넣고 실행 해보면! 메시지박스가 뜨는 것을 볼 수 있습니다(A > 0 이 True 를 반환). 사람이 볼 때는 말도 안되는 결과이지만, 멍청한 컴퓨터는 데이터 형식에 따라 해석을 완전히 반대로 할 수도 있다는 것을 알아두시면 좋을 것 같습니다.