vba else에 해당하는 글 2

기초부터 실전까지 VBA 엑셀12 - 조건문 If ~ ElseIf

IT 관련 지식/VBA 공부|2019. 10. 31. 08:00
반응형
728x170

<VBA 엑셀12 - 조건문 if else>

 

이전에 배운 if문에서 조금 더 발전한 사용법을 알려드리겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 

<기초부터 실전까지 VBA 엑셀11 - 조건문 if>에서 배운 것은 단순히 조건 1개만 사용하여 

 

if문을 사용하는 방법이었습니다.

 

이번에는 여러개의 조건을 걸 수 있는 방법을 알려드리겠습니다.

 


1. If ~ ElseIf ~ ElseIf의 기본형태

 

If 조건식 1 Then
  "조건식 1"이 True일 때 처리
ElseIf 조건식 2 Then
  "조건식 2"이 True일 때 처리
ElseIf 조건식 3 Then
  "조건식 3"이 True일 때 처리
...
Else
  모든 조건식이 False일 때 처리
End If

 

 

위와 같이 ElseIf를 이용하여 여러 개의 조건을 만들 수 있습니다.

 

이는 단순히 여러 개의 조건을 만들 수 있다는 것보다 If ~ Else만 사용했을 때 보다

 

코딩이 훨씬 짧고 단순해집니다.

 

이해를 돕기위해 다음과 같은 예제를 보겠습니다.

 

300x250

2. 예제

 

<기초부터 실전까지 VBA 엑셀11 - 조건문 if>에서 사용한 예제를 그대로 사용하여

 

정확히 어떻게 다른지 확인해보겠습니다.

 

<기초부터 실전까지 VBA 엑셀11 - 조건문 if> 에서 사용한 예제

Sub if2() 

If Cells(1, 1) >= 100 Then 
    If Cells(1, 1) >= 200 Then 
        Cells(1, 2) = "A"    '>= 200 
    Else 
        Cells(1, 2) = "B"    '>=100 AND < 200 
    End If 
     
Else 
     
    If Cells(1, 1) >= 50 Then 
        Cells(1, 2) = "C"    '< 100 AND >= 50 
    Else 
        Cells(1, 2) = "D"    '< 50 
    End If 
End If 

End Sub

 

<ElseIf를 사용했을 때>

Sub elseif1()

    If Cells(1, 1) >= 200 Then
    
        Cells(1, 2) = "A"    '>= 200
        
    ElseIf Cells(1, 1) >= 100 Then
    
        Cells(1, 2) = "B"    '>=100 AND < 200
    
    ElseIf Cells(1, 1) >= 50 Then
    
        Cells(1, 2) = "C"    '< 100 AND >= 50
        
    Else
    
        Cells(1, 2) = "D"    '< 50
    
End If

End Sub

위에 예제보다 밑의 예제가 훨씬 직관적은 눈에 들어오는 것을 알 수 있을 것입니다.

 

이 처럼 ElseIf를 사용할 경우 다수의 조건을 만들 수 있습니다.

 


이번 실습은 여기까지 입니다.

 

오늘도 마찬가지로 코딩 파일을 남겨놓겠습니다.

 

꼭 직접 손으로 코딩을 해보신 후

 

정 모르겠으면 다운 받으신 후, 무엇이 다른지 확인하시길 바랍니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 

elseif문.txt
0.00MB

반응형

댓글()

기초부터 실전까지 VBA 엑셀11 - 조건문 if

반응형
728x170

오늘은 프로그래밍의 진정한 꽃 "조건문"에 대해 배워보겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 

이번 강의는 맨 밑에 코딩을 첨부했습니다.


1. if 조건문의 기본 형태

 

If 조건식 Then
  Ture 일 때 조건식을 만족하는 경우의 처리
Else
  Flase 일 때 조건식을 만족하지 않는 경우의 처리
End If

 

위에서 Else는 선택사항입니다.

 

즉, If 만 사용해도 조건문으로써 에러없이 사용할 수 있습니다.


2. If문에 사용가능한 조건문

 

비교 연산자

비교 연산자 의미
= 같음
<> 같지 않음
> 초과
> = 이상
< 미만
<= 이하

 

논리 연산자

논리 연산자 의미
And 논리적
Or 논리합

 

사실 "논리 연산자"는 종류가 더 많지만 거의 사용하지 않으므로...

 

위의 2개만 소개하겠습니다.

300x250

3. If문 사용 예시

Sub if1()

    If Cells(1, 1) >= 100 Then
        Cells(1, 2) = "○"
    Else
        Cells(1, 2) = "×"
    End If

End Sub

 

<결과>


4. 응용 - If문의 중첩

 

Sub if2()

If Cells(1, 1) >= 100 Then
    If Cells(1, 1) >= 200 Then
        Cells(1, 2) = "A"    '>= 200
    Else
        Cells(1, 2) = "B"    '>=100 AND < 200
    End If
    
Else
    
    If Cells(1, 1) >= 50 Then
        Cells(1, 2) = "C"    '< 100 AND >= 50
    Else
        Cells(1, 2) = "D"    '< 50
    End If
End If

End Sub

조금 해석을 하자면

 

① 먼저 "A1"에 들은 값이 100 "이상"인지 확인합니다.

② 그리고 200 이상이면 "A", 200 밑이면 "B"를 입력합니다.

③ 그 이외 (100 "미만일 때)의 경우를 정의합니다.

④ 이 또한 100~50 / 50 미만 일 때의 경우 각각 "C", "D"로 정의합니다.

 

위와 같이 If문을 중첩해서 사용할 수 도 있습니다.

 

For 반복문과 마찬가지로 2번정도만 중첩해서 사용하면 됩니다!

 

아래에 위에서 사용한 코딩을 남겨놓습니다.

 

잘 안되는 분은 다운로드 받아서 뭐가 다른지 한번 확인해보세요!

 

if문.txt
0.00MB


더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 

오늘은 여기까지만 하겠습니다.!

반응형

댓글()