For…Next 명령문

명령문 그룹을 지정된 횟수만큼 반복합니다.

구문

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 ForEach...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