본문 바로가기

엑셀 눈감고도 쓰기/VBA

VBA에서 판단문(If,Select ~ Case), 순환문(Do ~ Loop) 사용하기

 읽으시기 전에 추천 한번 눌러 주시면 많은 힘이 됩니다.~ ㅎㅎ

 

 

 

 

오늘은 판단문과 순환문에 관해서 알아보겠습니다.

판단이란?   그대로 서브 프로시저처럼 명령어를 줄씩 순차적으로 실행하는 것이 아니라

특정 조건 다양한 작업을 있도록 구성하는 구문을 말하고, 순환문이란 동일한 조건일 때

연속적으로 어떤 명령어를 실행하는 것을 말합니다.  판단문(If문, Select Case문), 순환문(Do~ Loop문)

을 예시를 통해서 살펴 보기에 앞서 기본 구조를 보겠습니다.

 

 


 

아래 예시를 통해서 판단문과 순환문을 동시에 활용해 보도록 하겠습니다.

우선 노란색 부분의 값을 채울 건데요 E열의 품사필드값이 a, v, n, ad 일때 F열의 결과필드 형용사, 동사, 명사, 부사 이렇게 들어가도록 만들어 보겠습니다.

 

예기

 

 


 

1. 위의 엑셀 파일을 연 후 ALT+F11 을 눌려 VB편집기 창을 띄웁니다.

2.  VB편집기 메뉴에서 삽입>모듈메뉴를 선택하고 아래 내용과 같이 입력합니다.

Sub 판단문 예시()

          Dim i As Integer                                          

          i = 2

          Do While i < 17                              

               If Cells(i, 5).Value = "a" Then       

                  Cells(i, 6).Value = "형용사"        

               End If                                          

               i = i+1

          Loop                                                

    End Sub

 

  조건에 사용할 변수 i(열의 값으로 사용)를 자연수 값으로 선언합니다.

       (첫째 열은 타이틀이니까 두번째부터 시작하기 위해 i=2 를 선언합니다.)

  조건(i<17)이 참이면  ③,④,⑤의 내용을 계속 실행하고

      아니면 Loop를 끝내고 서브프로시저가 종료됩니다.

  Cells(i, 5).Value = "a" 에서 i열의 5번째 필드의 값이 a이면,

      ④(6번째 필드에 형용사라는 값을 넣어라)를 실행하고,  까지 실행하고 다시 ②로 와서 

      루프문을 실행할지 끝낼지 조건을 검사합니다. 그래서 i가 16까지 동일한 루프문이 돌게 되겠죠.

 

3.  실행버튼(메뉴의 삼각형 모양) 눌러 결과를 확인합니다

 

 

 


 

4. 결과 필드를 확인하면 품사필드의 값이 a인 것들이 모두 형용사로 바뀐걸 확인 할 수가 있습니다.

 

 

 


 

 

5. 이제는 동일한 엑셀파일에서 Select Case문을 활용해서 다중 조건일때 처리방법입니다.

   아래의 값을 입력후에 실행버튼을 눌러 실행 시켜 봅니다.

 

 

 

 


 

 

6. 결과 필드를 확인하면 품사필드의 값에 따라 결과의 값들이 달라진것을 확인 할 수가 있습니다.

 

 

위 처럼 판단문과 순환문은 보통 같이 쓰일경우가 많은데요. 위의 활용법을 기본으로 해서 내용만 바꿔 사용하시면 좋은 VBA의 예시가 될것 같습니다. ^^