배열 또는 컬렉션의 각 요소에 대해 명령문 그룹을 반복합니다.
구문
For Each element In group [statements] [Exit For] [statements] Next
인수:
element: 컬렉션 또는 배열의 요소를 반복하기 위해 사용되는 변수입니다. 컬렉션의 경우 요소는 Variant 변수, 일반 Object 변수 또는 특정 Automation 객체 변수 중 하나만 될 수 있습니다. 배열의 경우 요소는 Variant 변수만 될 수 있습니다.
group: 객체 컬렉션 또는 배열의 이름입니다.
명령문: 그룹의 각 항목에 대해 실행되는 하나 이상의 명령문입니다.
주석
그룹 내의 항목이 하나 이상인 경우 For Each 블록이 입력됩니다. 루프가 입력되면 루프 내의 모든 명령문이 그룹의 첫번째 요소에 대해 실행됩니다. 그룹 내에 추가적인 요소가 있으면 루프 내의 명령문은 각 요소에 대해 계속 실행됩니다. 그룹에 더 이상 요소가 없으면 루프가 종료되고 Next 명령문 다음에 나오는 명령문이 계속 실행됩니다.
Exit For는 Each...Next 또는 For...Next 제어 구조 내에서만 사용할 수 있으며, 대체 종료 방법을 제공합니다. 개수에 관계없이 Exit For 명령문을 루프 내 어디에나 배치할 수 있습니다. Exit For는 일부 조건(예: If...Then) 평가와 함께 사용되는 경우가 많으며 Next 바로 뒤에 나오는 명령문으로 제어를 전달합니다.
한 For Each...Next 루프를 다른 루프 내에 배치하여 For Each...Next 루프를 중첩할 수 있습니다. 그러나 각 루프 요소는 고유해야 합니다.
Note:
Next 명령문에서 요소를 생략한 경우에도 해당 요소를 포함한 것처럼 계속 실행됩니다. Next 명령문이 해당 For 명령문보다 먼저 발생하면 오류가 발생합니다.
다음 예에서는 For Each...Next 명령문을 사용하는 방법을 보여 줍니다.
예 1:
Dim fruits(2)
fruits(0) = "Apple"
fruits(1) = "Banana"
fruits(2) = "Cherry"
For Each fruit In fruits
' Variable fruit denotes each element in fruits array
Next