달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
728x90
반응형

 

 

 

[ 엑셀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까지 입력을 제한할 경우 사용할 수 있다

 

  

위와 같이 하나의 수식으로 여러조건을 만족할 수 있는 프로세스를 다양하게 만들 수 있으므로

상황에 맞게 적절히 사용하는 것이 최적의 방법이라고 하겠다.

 

불량율관리 프로그램 만들기 시리즈

 

1. 매크로의 이해

2. 절대참조와 상대참조

3. 조건절 if

4. 반복문 for - next

 

5. 조건문 select case

6. 데이터베이스의 구성

7. 유효성검사를 통한 입력 규칙만들기

8. 이중유효성검사 적용

 

9. 엑셀 데이터베이스 사용설정 적용하기

10. 분석툴 만들기

11. 데이터입력 행삽입 모듈만들기

12. 대용량 DB사용을 위한 SQL함수 알아보기

13. SQL 합수 프로그램에 적용하기

 

 

728x90
반응형
:
Posted by mapagilove