배열의 각 항목에 대한 VBA 루프(반복문)
Last updated on 3월 12, 2023
In this Article
이 튜토리얼에서는 VBA에서 배열에 대한 반복문을 사용하는 방법을 설명합니다.
VBA를 사용하여 배열에 대한 반복문을 사용하는 방법에는 크게 두 가지가 있습니다:
- For Each Loop – For Each Loop는 배열의 각 항목에 대해 반복합니다.
- For Next Loop – For Next Loop는 배열의 지정된 시작위치와 끝 위치를 반복합니다. (UBound와 LBound 함수를 사용하여 배열의 시작점부터 끝까지 반복할 수 있습니다).
배열의 항목들에 대한 For Each 문
For Each Loop 로 배열의 각 요소를 반복할 수 있습니다.
Sub LoopForArrayStatic()
'배열 변수를 선언합니다.
Dim strNames(1 To 4) As String
'배열의 각 항목들을 채워줍니다.
strNames(1) = "Bob"
strNames(2) = "Peter"
strNames(3) = "Keith"
strNames(4) = "Sam"
'배열 요소를 저장할 변수를 선언합니다.
Dim item as variant
'전체 배열을 반복합니다.
For Each item in strNames
'디버그 창(직접실행 창)에 배열 요소를 하나씩 표시합니다.
Debug.Print item
Next item
End Sub
위의 프로시저는 배열의 모든 항목들을 반복합니다.
For Next 반복문
For Next 반복문은 배열의 지정된 시작 및 종료 위치에서 각 항목을 반복합니다.
배열의 일부분을 반복하기
루프의 시작 및 종료 위치를 수동으로 지정할 수 있습니다. 배열 크기를 알고 있거나 배열의 일부만 반복하려는 경우에 적합합니다.
Sub LoopForNextStatic()
'배열 변수를 선언합니다.
Dim strNames(1 To 4) As String
'배열의 각 항목을 채워줍니다.
strNames(1) = "Bob"
strNames(2) = "Peter"
strNames(3) = "Keith"
strNames(4) = "Sam"
'정수 변수를 선언합니다.
Dim i As Integer
'배열의 위치 2에서 위치 3까지 반복합니다.
For i = 2 To 3
'직접실행 창에 배열 항목을 표시합니다.
Debug.Print strNames(i)
Next i
End Sub
위의 예제에서는 배열의 2번과 3번 위치를 반복했습니다. 직접실행 창에 다음과 같이 이름이 표시됩니다.
전체 배열 반복하기
다음으로 UBound 및 LBound 함수를 사용하여 전체 배열을 반복해 보겠습니다. 이 함수는 배열의 시작과 끝 위치가 변경될 수 있는 경우(예: 동적 배열)에 매우 유용합니다:
Sub LoopForNextDynamic()
'배열 변수를 선언합니다.
Dim strNames() As String
'배열을 초기화합니다.
ReDim strNames(1 to 4)
'배열 각 항목들을 채워줍니다.
strNames(1) = "Bob"
strNames(2) = "Peter"
strNames(3) = "Keith"
strNames(4) = "Sam"
'정수 변수를 선언합니다.
Dim i As Integer
'배열의 시작부터 끝까지, 즉 전체 배열을 반복합니다.
For i = LBound(strNames) To UBound(strNames)
'직접 실행 창에 배열 항목을 표시합니다.
Debug.Print strNames(i)
Next i
End Sub