기초부터 실전까지 VBA 엑셀8 - 반복문 For
<VBA 엑셀8 - 반복문 For>
VBA에는 두 가지의 반복문이 있는데 이번에는 For Next 반복문에 대해 먼저 알아보겠습니다.
"반복문"이란 말 그대로 지정한 구문을 해당 횟수 만큼 반복한다는 의미입니다.
"변수 선언"과 "반복문"만 배워도 몇 가지 프로그램을 만들 수 있습니다.
1. For Next 문 사용하기
기본적인 양식은 다음과 같습니다.
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
다음은 각 항목의 의미를 알려드리겠습니다.
counter(숫자) | 반드시 지정합니다. 카운터에 사용할 변수(숫자)를 지정합니다. 배열 변수 및 부울 (Boolean)에 포함 된 변수는 지정할 수 없습니다. |
start(숫자) | 반드시 지정합니다. counter 인자의 초기 값을 지정합니다. |
end(숫자) | 반드시 지정합니다. counter 인자의 최종 값을 지정합니다. |
step(숫자) | 선택 사항입니다. 루프를 반복마다 인수 counter에 가산되는 값을 지정합니다. step 매개 변수를 생략하면 루프를 반복마다 counter 인자는 1이 가산됩니다. |
statements | 선택 사항입니다. 루프에서 실행되는 일련의 명령문에서 For와 Next 사이에 기술합니다. 여기에 기술 한 루프는 For ... Next 문에서 지정한 횟수만큼 실행됩니다. |
간단히 풀어서 해석하면
"statements = 구문"을 start(시작) ~ end(종료)만큼 반복한다.
이렇게 됩니다.
2. 예문
다음과 같이 코드를 VBA에 입력해보겠습니다.
Sub For1()
Dim i
For i = 1 To 10
Cells(i, 1) = 1
Next i
End Sub
위의 예문을 VBA로 실행하면
아래와 같이 적어진 것을 확인할 수 있습니다.
즉, "A1" ~ "A10"까지 "1"이라는 숫자를 반복해서 1개씩 넣은 것이 됩니다.
3. Exit For 사용해보기
이번에는 For 반복문을 탈출할 수 있는 Exit For 이라는 구문을 사용해보겠습니다.
위에서 사용했던 코드의 중간에 Exit For를 넣어보겠습니다.
Sub For1()
Dim i
For i = 1 To 10
Cells(i, 1) = 1
Exit For
Next i
End Sub
위의 결과와 달리 "A1" 하나밖에 "1"이 들어있지 않습니다.
그 이유는 도중에 Exit For로 인해 반복문을 취소했기 때문입니다.
이렇게 Exit For와 나중에 배울 "조건문"을 배우면 여러가지 프로그램을 만들 수 있습니다.
4. Step 사용해보기
이번에는 For 반복문에서 "Step"이라는 것을 활용해 보겠습니다.
아래와 같이 예문을 입력합니다.
Sub For1()
Dim i
For i = 1 To 10 Step 2
Cells(i, 1) = 1
Next i
End Sub
그리고 이를 실행해보면 다음과 같은 결과가 나옵니다.
Step의 의미는 해당 숫자만큼 건너뛴다는 것을 의미합니다.
즉, 위에서 Step 2 라고 했으니
A1 -> A3 -> A5 -> A7 ->A 9
이렇게 해당 셀(Cell)에 숫자 "1"이 들어가게 됩니다.
5. For 반복문의 중첩
For은 중첩하여 몇번이든 사용할 수 있습니다.
다음과 같이 코딩을 해봅시다.
Sub For2()
Dim i, j
For i = 1 To 10
For j = 1 To 10
Cells(i, j) = 1
Next j
Next i
End Sub
그리고 실행을 해보면 아래와 같은 결과가 나옵니다.
이처럼 반복문에 반복문을 넣어서 여러가지 프로그램을 만들 수 도 있습니다.
하지만, 반복을 3번 이상하면 코딩을 이해하기 어렵게 되므로 2번까지만 추천합니다.
오늘 포스팅은 여기까지 입니다.
다음에는 다른 반복문인 Loop에 대해 배워보겠습니다.
'IT 관련 지식 > VBA 공부' 카테고리의 다른 글
기초부터 실전까지 VBA 엑셀10 - 마지막 행 얻기(End) (0) | 2019.10.25 |
---|---|
기초부터 실전까지 VBA 엑셀9 - 반복문 Do ~ Loop (1) | 2019.10.24 |
기초부터 실전까지 VBA 엑셀5 - 셀 지정법(Cells, Rows, Columns) (0) | 2019.10.22 |
기초부터 실전까지 VBA 엑셀4 - Range 사용법 및 특징 (0) | 2019.10.21 |
기초부터 실전까지 VBA 엑셀7 - Const 상수 선언 (0) | 2019.10.20 |