이전 글에서 VBA 연산자에 대해 알아봤습니다. 이번에는 제어문에 대해서 알아보겠습니다.
제어문은 프로그램의 실행 순서를 변경할 수 있는 코드로 VBA 프로그래밍을 할 때 많이 사용됩니다.
1. If ... Then ... Else 문
If ... Then ... Else 문의 사용 방법은 다음과 같습니다.
If 조건식 Then
실행문1
Else
실행문2
End If
프로그램이 차례대로 실행되다가 If문을 만나면 주어진 조건식이 참인지 거짓인지를 확인합니다. 참이면 실행문 1을 실행하고 거짓이면 실행문 2를 실행합니다.
Else와 실행문 2는 생략 가능하며 If문이 거짓일 때 Else와 실행문 2가 없으면 If문을 종료하고 다음 코딩을 실행합니다.
2. Select Case 문
Select Case 문의 구성은 다음과 같습니다.
Select Case 조건식
Case 값 1
실행문 1
Case 값 2
실행문 2
:
:
Case Else
실행문 n
End Select
프로그램이 차례대로 실행되다가 Select Case문을 만나면 주어진 조건식을 계산하여 값을 구합니다.
계산된 값과 동일한 값을 값 1, 값 2,... 값 n-1에서 찾습니다. 동일한 값이 있으면 해당하는 실행문을 실행하며 동일한 값이 없으면 실행문 n을 실행합니다.
3. Goto 문
Goto 문은 다음과 같이 사용합니다.
Goto 줄번호
:
:
줄번호 : 실행문
:
:
Goto 문을 만나게 되면 Goto 바로 뒤에 있는 줄번호로 이동합니다. 그리고 해당 줄번호의 실행문을 실행합니다.
4. For ... Next 문
For ... Next 문의 구성은 다음과 같습니다.
For 변수명 = 시작 값 To 종료 값 Step 증감
실행문
Next 변수명
For 문을 만나면 변수명으로 이름 지은 변수를 생성하고 시작 값을 입력합니다. 그리고 실행문을 실행합니다. 실행문이 완료되면 변수의 값을 증감에 따라 변경하고 변수에 그 값을 입력하고 실행문을 실행합니다. 변숫값이 종료 값이 될 때까지 반복 실행하며 변숫값이 종료 값과 같아지면 For ... Next 문을 빠져나와 다음 코드를 진행합니다.
5. For Each ... Next 문
For Each ... Next 문은 다음과 같이 사용합니다.
For Each 개체형 변수 In 컬렉션
실행문
Next 개체형 변수
컬렉션은 배열처럼 유사한 개체들을 모아놓은 데이터 형식의 일종으로 개체형 변수는 컬렉션과 같은 데이터 형식을 지녀야 합니다.
컬렉션에 있는 요소들을 개체형 변수가 참조할 수 있도록 지정한 후 실행문을 실행하며 컬렉션의 요소를 모두 참조하면 For Each ... Next 문은 종료됩니다.
6. Do ... Loop 문
Do ... Loop 문의 사용방법은 4가지 방식이 있으며 그 구성은 다음과 같습니다.
① Do While ... Loop
Do While 조건식
실행문
Loop
조건식이 참이면 실행문이 실행됩니다. 만약 처음 Do문을 만났을 때 조건식이 거짓이면 실행문은 실행되지 않고 Do While문은 종료됩니다.
② Do Until ... Loop
Do Until 조건식
실행문
Loop
조건식이 참이 될 때까지 반복해서 실행문이 실행됩니다. 만약 처음 Do문을 만났을 때 조건식이 참이면 실행문은 실행되지 않고 Do Until문은 종료됩니다.
③ Do ... Loop While
Do
실행문
Loop While 조건식
조건식이 참이면 실행문이 실행됩니다. 만약 처음 Do문을 만났을 때 조건식이 거짓이면 실행문은 한 번 실행되고 Do While문은 종료됩니다.
④ Do ... Loop Until
Do
실행문
Loop Until 조건식
조건식이 참이 될 때까지 반복해서 실행문이 실행됩니다. 만약 처음 Do문을 만났을 때 조건식이 참이면 실행문은 한 번 실행되고 Do Until문은 종료됩니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA로 간단한 입력과 출력 실행해보기 (0) | 2021.07.07 |
---|---|
VBA를 작성하여 엑셀 개체 다루기 (0) | 2021.07.05 |
VBA 연산자와 제어문에 대해 알아보기 I (0) | 2021.07.02 |
엑셀 VBA 변수와 상수에 대하여 알아보기 (0) | 2021.07.01 |
엑셀에서 VBA 프로그램 작성하기 (0) | 2021.06.30 |