[ 엑셀VBA 3 ] 불량관리 프로그램 만들기 - 조건절 IF 엑셀VBA 이야기2014. 12. 2. 20:11
[ 엑셀VBA 3 ] 불량관리 프로그램 만들기 - 조건절 IF
오늘 부터는 엑셀 및 엑셀 VBA의 기본인 IF문에 대하여 배워보기로 한다. 우선 조건이라고 하는 것은 조건이
정해진 규칙인 경우 첫번째결과를 적용하고 그렇지 않으면 두번째 결과를 적용하는 영어의 문법과 동일하다.
이런 IF문의 경우 1가지 혹은 몇가지 규칙에 대하여 모두 적용이 가능하나 3 ~ 4가지 이상의 조건인 경우는
Case문 등이 있으므로 단순한 몇 가지 조건을 사용하는 경우 적용하면 좋다.
IF문의 적용 예)
아래의 경우 a라는 정수형 변수를 선언한 다음 a=1이라고 이미 정의하였다. 이것은 추후 a값을 다른값
으로 입력하면 결과가 변한다는 것을 알 수 있다.
그리고, a 가 2보다크면 조건이 참인경우를 실행하고 그렇지 않은 경우는 조건이 참이 아닌경우를
실행하는 프로시져이다.
Sub IF문()
Dim a As Integer
a = 1
If a > 2 Then '<-- 조건
' a가 2보다 큰 경우 실행(조건이 참 인경우)
Else
' a가 2보다 크지않은 경우 실행 (조건이 참이 아닌경우)
End If
End Sub
각 조건의 결과를 메세지 박스를 아래와 같이 넣어보면 a가 1인경우는 아래와 같은 메세지박스가 출력
되는 것을 알 수있다.
Sub IF문()
Dim a As Integer
a = 1
If a > 2 Then '<-- 조건
' a가 2보다 큰 경우 실행(조건이 참 인경우)
MsgBox "a가 2보다 크다"
Else
' a가 2보다 크지않은 경우 실행 (조건이 참 인경우)
MsgBox "a가 2보다 크지않다"
End If
End Sub
다음은 다중 조건을 주어 문장을 만드는 법에 대한 설명이다. 다중조건은 IF문장안에 추가IF문을 넣는
방식과 ELSE IF를 이용한 조건을 하나로 만드는 법이 있다.
이것은 몇가지 조건을 충족하는 프로세스를 만들때 적용할 수 있다. 예를 들어 몇가지 문장을 살펴보자.
Sub 첫째다중IF문()
Dim a, b As Integer
a = 5
b = 3
If a > 2 And b > 2 Then '<-- 조건
' a가 2보다 큰 경우 실행(조건이 참 인경우)
MsgBox "a와b가 2보다 크다"
Else
' a가 2보다 크지않은 경우 실행 (조건이 참 인경우)
MsgBox "a와b가 2보다 크지않다"
End If
End Sub
Sub 셋째다중IF문()
Dim a, b As Integer
a = 5
b = 3
If a > 2 Then '<-- 조건
' a가 2보다 큰 경우 실행(조건이 참 인경우)
If b > 2 Then
MsgBox "a와b가 2보다 크다"
End If
Else
' a가 2보다 크지않은 경우 실행 (조건이 참 인경우)
MsgBox "a와b가 2보다 크지않다"
End If
End Sub
위의 두 프로시져의 결과는 MsgBox "a와b가 2보다 크다" 라고 동일한 결과가 나오는 프로시져이다.
Sub 둘째다중IF문()
Dim a, b As Integer
a = 1
b = 1
If a > 2 Or b > 2 Then '<-- 조건
' a가 2보다 큰 경우 실행(조건이 참 인경우)
MsgBox "a와b중 하나가 2보다 크다"
Else
' a가 2보다 크지않은 경우 실행 (조건이 참 인경우)
MsgBox "a와b중 하나가 2보다 크지않다"
End If
End Sub
결과 : MsgBox "a와b중 하나가 2보다 크지않다"
Sub 넷째다중IF문()
Dim a As Integer
a = 3
If a = 1 Then '<-- 조건
MsgBox "a는 1이다"
ElseIf a = 2 Then
MsgBox "a는 2이다"
Else
MsgBox "a는 3이다"
End If
End Sub
결과: MsgBox "a는 3이다" , 이 경우 3까지 입력을 제한할 경우 사용할 수 있다
위와 같이 하나의 수식으로 여러조건을 만족할 수 있는 프로세스를 다양하게 만들 수 있으므로
상황에 맞게 적절히 사용하는 것이 최적의 방법이라고 하겠다.
불량율관리 프로그램 만들기 시리즈
'엑셀VBA 이야기' 카테고리의 다른 글
[ 엑셀VBA ] 변수 선언의 사용 - Public, Private, Dim (0) | 2014.12.02 |
---|---|
[ 엑셀VBA ] 엑셀 VBA 변수의 정의 - option explicit , 변수 (1) | 2014.12.02 |
[ 엑셀VBA 2 ] 불량관리 프로그램 만들기 - 절대참조 , 상대참조 (0) | 2014.12.01 |
[ 엑셀VBA ] 박재영의 엑셀강좌 링크 (0) | 2014.11.30 |
[ 엑셀VBA 1 ] 불량관리 프로그램 만들기 - 매크로의 이해 (0) | 2014.11.30 |