For, Next 사용하기
For, Next 문은 정해놓은 횟수동안 동일한 작업을 반복하는 것이다.
For와 Next는 세트로 사용한다.
Sub Button_Click()
Dim i as Integer
For i = 1 To 10
Range("A" & i) = i + 1
Next i
End Sub
위 코드는 i를 1에서 1까지 1씩 증가시키는 동안
A 컬럼의 i 번째 셀에 i + 1 을 계산해서 출력하라는 것이다.
실행하면 다음 결과를 얻게 된다.
위에서 Range("A" & i) 대신
Cells(i, 1) 을 써도 같은 결과를 얻게 된다.
For, Next 문 안에 For, Next 문이 들어갈 수도 있다.
2가지 변수의 조건을 변경하면서 반복 계산하게 된다.
Sub Button_Click()
Dim i As Integer, j As Integer
For i = 1 To 10
For j = 1 To 5
Cells(i, j) = i + j
Next j
Next i
End Sub
위 코드는 i를 1에서 10까지 1씩 증가시키고
j를 1에서 5까지 1씩 증가시키면서
i번째 행, j번째 열에 i + j 를 계산해서 출력하라는 것이다.
i = 1 일 때 j를 1에서 5까지 증가시켜가며 계산
i = 2 일 때 j를 1에서 5까지 증가시켜가며 계산
...
i = 9 일 때 j를 1에서 5까지 증가시켜가며 계산
i = 10 일 때 j를 1에서 5까지 증가시켜가며 계산
이렇게 계산하는 것을 위 코드처럼 나타낼 수 있다.
실행하면 다음과 같은 결과를 얻게 된다.
위에서는 변수를 1씩 증가시켰는데
다른 수만큼 증가시키거나 감소시킬 수도 있다.
Step 을 쓰면 된다.
Sub Button_Click()
Dim i As Integer, j As Integer
For i = 1 To 10 Step 2
For j = 1 To 5
Cells(i, j) = i + j
Next j
Next i
End Sub
위 코드는 i 를 1에서 10까지 2씩 증가시키면서
j 를 1에서 5까지 1씩 증가시켜서
i번째 행, j번째 열에 i + j 를 계산해서 출력하라는 거다.
i가 1부터 시작하니까 2씩 증가시키면
3, 5, 7, 9 가 되고
9 다음이 11이지만 10까지 증가시키라고 했으니까
9까지만 계산하게 된다.
실행하면 다음과 같은 결과를 얻게 된다.
Step 을 안쓰면 기본적으로 1씩 증가시키는 것이 된다.
Step 1 이라고 써도 똑같지만, 굳이 쓸 필요가 없겠지.
Sub Button_Click()
Dim i As Integer, j As Integer
For i = 10 To 1 Step -3
For j = 1 To 5
Cells(i, j) = i + j
Next j
Next i
End Sub
위 코드는 i를 10에서 1까지 3씩 감소시키면서
j를 1에서 5까지 1씩 증가시켜서
i번째 행, j번째 열에 i + j 를 계산해서 출력하라는 거다.
i가 10부터 시작하니까 3씩 감소시키면
7, 4, 1 이 된다.
그 다음은 -2가 되겠지만, 1까지 감소시키라고 했으니.
위 코드를 실행하면 다음과 같은 결과를 얻게 된다.
'Excel VBA 기초' 카테고리의 다른 글
Excel VBA - Select Case (0) | 2023.12.03 |
---|---|
Excel VBA - If (0) | 2023.12.03 |
Excel VBA - VBA Editor 살펴보기 (2) (0) | 2023.11.30 |
Excel VBA - 변수 (2) (0) | 2023.11.30 |
Excel VBA - 변수 (1) (0) | 2023.11.30 |