명령문 그룹을 지정된 횟수만큼 반복합니다.
구문
For counter=start To end [Step step]
[statements]
[Exit For]
[statements]
Next
인수:
Counter: 루프 카운터로 사용되는 숫자 변수입니다. 변수는 배열 요소 또는 사용자 정의 유형의 요소가 아니어야 합니다.
Start: 카운터의 초기 값입니다.
End: 카운터의 최종 값입니다.
Step: 루프를 통해 매번 Amount 카운터가 변경됩니다. 지정되지 않은 경우 단계는 기본값인 1로 설정됩니다.
Statements: For와 Next 사이에 위치한 1개 이상의 명령문이 지정된 횟수만큼 실행됩니다.
주석
단계 인수는 양수 또는 음수일 수 있습니다. 단계 인수의 값은 루프 처리를 다음과 같이 결정합니다.
Table 11-33 루프 실행
| 값 | 다음의 경우 루프가 실행됩니다. |
|---|---|
| 양수 또는 0 | 카운터 <= 끝 |
| 음수 | 카운터 >= 끝 |
루프가 시작되고 루프의 모든 명령문이 실행되면 단계가 카운터에 추가됩니다. 이 시점에서, 루프 내의 명령문이 다시 실행되거나(초기 루프 실행을 유발한 동일한 조건 검사에 따라) 루프가 종료되면 Next 명령문 다음에 오는 명령문으로 계속 실행됩니다.
Note:
루프 내부에서 카운터 값을 변경하면 코드를 읽고 디버그하기가 더 어려워질 수 있습니다.
Exit For는 Each...Next 또는 For...Next 제어 구조 내에서만 사용할 수 있으며, 대체 종료 방법을 제공합니다. 개수에 관계없이 Exit For 명령문을 루프 내 어디에나 배치할 수 있습니다. Exit For는 일부 조건(예: If...Then) 평가와 함께 사용되는 경우가 많으며 Next 바로 뒤에 나오는 명령문으로 제어를 전달합니다.
한 For...Next 루프를 다른 루프 내에 배치하여 For...Next 루프를 중첩할 수 있습니다. 각 루프에 고유한 변수 이름을 카운터로 지정합니다. 다음 구성은 올바릅니다.
예 1:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
Next
Next
Next
예 2: Positive Stepping
Dim i
For i = 1 To 3 Step 2
'"Countdown: " & i
Next
'Output:
'Countdown: 1
'Countdown: 3
예 3: Negative Stepping
Dim i
For i = 3 To 1 Step -2
'"Countdown: " & i
Next
'Output:
'Countdown: 3
'Countdown: 1