프로그램을 실행할 때 조건에 따라 다른 실행을 하고자 할 때 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 창에 코딩을 합니다.
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
'엑셀 > VBA' 카테고리의 다른 글
VBA 반복문 Do Loop에 대해 알아보자 (0) | 2021.08.19 |
---|---|
VBA 반복문 For Next에 대해 알아보자 (0) | 2021.08.18 |
VBA 프로그램 실행 중 발생하는 오류 처리하기 (0) | 2021.08.16 |
VBA 프로그래밍을 위한 기본 사항 확인하기 III (0) | 2021.08.14 |
VBA 프로그래밍을 위한 기본 사항 확인하기 II (0) | 2021.08.14 |