본 강의에서는 vba뿐만 아니라 모든 프로그래밍 언어에서 기본적으로 사용하는 반복문에 대해서 알아보겠습니다.

 

1. For Next 문

Sub Macro()
      For i=1 To 10
            Cells(i,1).value = i
      Next i
End Sub

*반복문의 과정을 보기 위해 시간지연을 적용하였습니다.

변수 i는 1부터 시작하여 1씩 증가해 10을 넘을 때까지 반복합니다.

Cells(1,1)에는 1, Cells(2,1)에는 2 ..... Cells(10,1)에는 10이 들어가고 반복문이 끝나게 됩니다. 

 

 

추가로 Step을 이용하여 변수 i의 증가폭도 임의로 정할 수 있습니다.

Sub Macro()
      For i=1 To 20 Step 2
             Cells(i,1).value = i
      Next i
End Sub

*반복문의 과정을 보기 위해 시간지연을 적용하였습니다.

위의 예제에서는 i가 1부터 2씩 증가해 20을 넘기면 반복문이 종료하게 됩니다.

 

 

2. For Each Next 문

Sub Macro()
      Dim rng As Range
      Dim sum As Integer
      
      Set rng = Range("A1:A10")
      sum = 0
      For Each i In rng
            sum = sum + i.value
            Cells(12,1).value = sum
      Next i
End Sub

*반복문의 과정을 보기 위해 시간지연을 적용하였습니다.

For 문에서 사용된 변수 i에 rng의 구성요소 하나하나가 들어가게 됩니다.

첫번째 반복에서는 i = Range("A1")이 되고

두번째 반복에서는 i = Range("A2")이 되면서 rng의 마지막 구성요소인 Range("A10")에 도달할 때까지 반복문이 실행됩니다.

 

위의 예제 코드에서는 범위 A1:A10의 각 셀에 있는 숫자들을 반복문을 통해 모두 더한 것입니다.

 

For Each Next 구문에서 In 뒤에 오는 변수는 Range뿐만이 아닌 Array형식도 올 수 있습니다.


WRITTEN BY
컴공학도

,