본문 바로가기

엑셀/VBA

VBA 조건문인 IF에 대해 알아보자

반응형

프로그램을 실행할 때 조건에 따라 다른 실행을 하고자 할 때 IF 조건문을 사용합니다. IF 조건문은 어떻게 사용하는지 알아보겠습니다.

 

1. IF 조건이 하나 있을 때

 IF 조건문에 조건이 한가지가 있을 때는 조건이 참일 경우에만 IF 조건문이 실행됩니다. 

IF 조건문의 사용 방법은 아래와 같습니다.

 

     IF 조건문 Then

        실행문 1

        실행문 2

            :

            :

        실행문 n

     End If

 

프로그램이 실행되다가 IF를 만나면 조건문의 조건을 확인합니다. 조건문의 조건값이 참이면 실행문 1부터 실행문 n까지 실행되며 조건문의 조건값이 거짓이면 IF 조건문은 실행되지 않고 End If 다음 문장으로 넘어가서 실행됩니다.

 

 

 

만약 조건문의 조건값이 거짓일 때의 실행문을 정의하고 싶다면 Else를 사용할 수 있습니다.

 

     IF 조건문 Then

        실행문 1

        실행문 2

            :

            :

        실행문 n

     Else

        Else실행문 1

        Else실행문 2

              :

              :

        Else실행문 n

     End If

 

Else를 사용하면 IF 조건문의 조건값이 거짓인 경우 실행문 1부터 실행문 n까지 실행되지 않고 건너뛰고 Else실행문 1부터 Else실행문 n까지 실행됩니다.

 

2. IF 조건이 두 개 이상일 때 (중첩)

 IF 조건문의 조건이 두 개 이상일 경우가 있습니다. 이를 중첩이라는 용어를 사용하며 이럴 경우 사용하는 방법은 아래와 같습니다.

 

     IF 조건문 1 Then

        실행문 1

        실행문 2

            :

            :

        실행문 n

      ElseIf 조건문 2 Then

        ElseIf실행문 1

        ElseIf실행문 2

               :

               :

        ElseIf실행문 n

     Else

        Else실행문 1

        Else실행문 2

              :

              :

        Else실행문 n

     End If

 

IF 조건문 1의 조건값이 참인 경우는 실행문 1부터 실행문 n까지 실행되며 IF 조건문의 조건값이 거짓인 경우는 ElseIf의 조건문 2의 조건값이 참이면 실행문 1부터 실행문 n까지 실행되지 않고 건너뛰고 ElseIF실행문 1부터 ElseIF실행문 n까지 실행됩니다. 만약 ElseIf의 조건문 2의 조건값도 거짓이면 모두 건너뛰고 Else실행문 1부터 Else실행문 n까지 실행됩니다. 여기서 ElseIf는 원하는 만큼 추가할 수 있습니다.

 

3. 예제로 확인하기

 엑셀 파일을 열고 Visual Basic을 실행한 후 모듈을 추가하고 다음과 같이 VBE 창에 코딩을 합니다.

 

엑셀에서 VBA 프로그램 작성하기

 

엑셀에서 VBA 프로그램 작성하기

엑셀에서 VBA 프로그램을 작성하기 위해서 Visual Basic Editor를 사용합니다. VBA를 알게 되면 엑셀 업무를 하는 데 있어서 보다 빠르고 편하게 업무를 진행할 수 있습니다. 엑셀의 많은 기능이 있지만

mr-johndoe.tistory.com

 

VBA 프로그래밍을 위한 기본 사항 확인하기 I

 

VBA 프로그래밍을 위한 기본 사항 확인하기 I

VBA에 대해 여러 가지 글을 쓰다가 기본 사항들을 집고 넘어가는 것이 좋을 것 같아서 VBA 프로그래밍 기본 사항들을 확인해보고자 합니다. 매크로를 기록해보면 자동으로 입력되는 Sub 프로시저

mr-johndoe.tistory.com

 

   Sub 성적()
      Dim score As Integer
    
       score = Val(InputBox("점수를 입력하세요."))
      If score >= 60 Then
           MsgBox "당신은 합격입니다."
       End If
   End Sub

 

먼저 score라는 정수형 변수를 선언하였고 IF 조건문은 score 값이 60보다 크거나 같은지를 확인합니다. score 값이 60보다 크거나 같으면 '당신은 합격입니다.'라는 메시지 창이 뜨는 코딩입니다.

 

 

 

여기에 score 값이 60보다 작은 경우 '당신은 불합격입니다.'라는 메시지 창이 뜨게 하려면 Else를 사용하여야 합니다. 아래와 같이 코딩합니다.

 

   Sub 성적()
      Dim score As Integer
    
       score = Val(InputBox("점수를 입력하세요."))
      If score >= 60 Then
           MsgBox "당신은 합격입니다."

      Else
        MsgBox "당신은 불합격입니다."
       End If
   End Sub

 

이제 score 값이 95 이상인 경우 '당신은 우수한 성적으로 합격하셨습니다.'라는 메시지 창이 뜨게 하려고 합니다. 아래와 같이 코딩합니다.

 

   Sub 성적()
       Dim score As Integer
    
      score = Val(InputBox("점수를 입력하세요."))
       If score >= 95 Then
           MsgBox "당신은 우수한 성적으로 합격하셨습니다."
       ElseIf score >= 60 Then
           MsgBox "당신은 합격입니다."
       Else
           MsgBox "당신은 불합격입니다."
       End If
   End Sub

 

반응형