티스토리 뷰


엑셀 VBA에서 조건문은 프로그래밍을 하는데 매우 유용한 방안입니다. 조건문은 특정 알고리즘을 위해서 비교를 수행하거나 루프구문에서 많이 사용됩니다. 

이글에서는 조건문에 대한 예제를 통해 알아보는 시간을 가지도록 할 것입니다. 


이 글은 아래의 내용을 포함하고 있습니다. 


  • IF 구문
  • IF Else 구문
  • IF ElseIf Else 구문


1. IF 구문


IF 구문의 문법은 아래와 같습니다. 

If <조건> Then <실행문>


IF 구문은 간단히 어떠한 구문을 확인하는데 사용이 됩니다. 위의 조건이 참이면 실행문이 실행이 됩니다. 


Sub DoIFStatement1()


     '셀의 A1값이 60만 이상이면, A2에 A1값 / 10의 값을 입력한다. 

     If Range("A1") > 600000 Then 

Range("A2") = Range("A1") * 10 / 100

End If


End Sub


2. IF Else 구문


IF Else 구문의 문법은 아래와 같습니다. 

If <조건> Then 

<실행문1>

Else

<실행문2>

End If


IF Else 구문이 조건이 참이면 실행문1을 아니면 실행문2를 실행합니다. 


Sub DoIFStatement2()


     '셀의 A1값이 60만 이상이면, A2에 A1값 / 10의 값을 입력한다. 

' 아니면 A1에 60만을 입력한다. 

     If Range("A1") > 600000 Then 

Range("A2") = Range("A1") * 10 / 100

Else

Range("A1") = 600000

End If


End Sub


3. IF ElseIf Else 구문


IF ElseIf Else 구문의 문법은 아래와 같습니다. ElseIf의 경우 사용자가 원하는 만큼 넣을 수 있습니다. 

조건문의 실행 순서는 위에서부터 실행이 되므로 어떠한 조건이라도 만족하게 되면 나머지 ElseIF 구문과 Else 구문을 실행이 되지 않습니다. 

If <조건1> Then 

<실행문1>

ElseIf <조건2> Then 

<실행문2>

Else

<실행문3>

End If


IF Else 구문은 조건1이 참이면 실행문 1이 , 조건2가 참이면 실행문2가 실행을 아니면 실행문3이 실행됩니다. 


Sub DoIFStatement3()


     '셀의 A1값이 60만 이상이면, A2에 A1값 / 10의 값을 입력한다.

    '셀의 값이 60만 이상이 아니고, 30만 이상이면 A2에 A1의 값의 10곱한 값을 넣는다.

    ' 아니면 A1에 60만을 입력한다.

    If Range("A1") > 600000 Then

        Range("A2") = Range("A1") * 10 / 100

    ElseIf Range("A1") > 300000 Then

        Range("A2") = Range("A1") * 10

    Else

        Range("A2") = 600000

    End If


End Sub


위의 세개의 예제중에 3번 을 실행해보도록 하겠습니다. 

코드를 다음과 같이 구성하였습니다. 위의 예제 코드와 동일합니다. 



코드를 실행하기 이전에 앞서 A1의 값을 실행 순서에 따라 10만, 35만, 65만으로 입력하여 각각 실행하였습니다. 

실행을 하게 되면 A1의 값에 따라서 결과가 아래와 같이 나오게 됩니다. 



이 처럼 IF 구문을 쓰게 되면 특정 값을 비교하여 원하는 결과를 처리할 수 있는 알고리즘을 구현할 수 있습니다.

그럼 이만 줄이겠습니다. 


이 글이 도움이 되셨으면, 아래의 하트를 눌러주세요.

댓글