반응형
엑셀 매크로 사용법에 대해서 공부하고 있는데요
오늘은 For ~ Next 반복에 대해서 공부를 했는데요 제가 기억하기 위한 기록용이지만 함께 공부하면 좋을 것 같아요
For ~ Next 구문 살펴보기
특정 조건에서 반복적인 작업을 위해 사용하는 함수
For문은 시작값과 증가값 종료값으로 구성되어 있으며 시작값은 설정한 증가값을 계속 더해서 종료값보다 커지는 순간 끝나는 구조를 가지고 있습니다.
1
2
3
4
5
|
For계산변후=시작값To종료값[Step증가값]
[명령문]
[ExitFor]
[명령문]
Next[계산변수]
|
For ~ Next 실습하기
✔️ For 변수 = 1 to 10 작업 Next 변수 : 변수에 1~10을 대입하면서 작업을 하시오
1
2
3
4
5
6
7
|
Sub test()
For i = 1 To 10
Range("c1").Offset(i - 1, 0).Value = "해커스"
Next i
End Sub
|
1
2
3
4
5
6
7
|
Sub test()
For i = 1 To 10
Range("c1").Offset(i - 1, 0).Value = "해커스"
Next i
End Sub
|
반응형
For ~ Next문을 중간에 빠져나오려면?
For ~ Next 반복문을 끝내지 않고 특정 조건이 되었을 때 빠져나오는 방법은 Exit For 구문을 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Sub test()
aa = 0
For i = 1 To 10
aa = aa + i
If i = 7 Then
Exit For
End If
Next i
MsgBox aa
End Sub
|
For Each ~ next 반복문
For Each ~ Next 반복문은 For ~ Next 반복문에 Each가 추가된 형태입니다.
지정한 반복 횟수만큼 반복하는 것이 아니라 컬렉션 내의 개체 또는 배열 내의 요소를 하나씩 접근하면서 명령을 실행하는 반복문입니다.
1
2
3
4
|
Dim 개체변수 As 개체형식
For Each 개체변수 In 컬렉션
실행문
Next
|
For Each ~ Next 실습하기
1
2
3
4
5
6
7
8
|
Sub test()
//Range("a1:c3").value = "안녕"
For Each a In Range("a1:c3")
a.Value = "안녕"
Next
End Sub
|
3번 줄의 주석 친부분과 For Each ~ Next 구문으로 작업한 결과값은 둘다 동일하지만 Range를 사용한건 한번에 작업이 이루어 지고 For Each ~ Next는 값을 하나씩 꺼내서 사용하기 때문에 결과값은 같아도 실행되는 과정이 다름
✔️ For Each ~ next의 구문에서 변수 이름은 중요하지 않음!
특정 범위 안에 개별 적인걸 가져와서 하나하나의 색상을 변경하는 경우
For Each ~ Next 구문 시트에 적용하기
현재 파일의 워크시트를 가지고 와서 하나하나 색상을 변경
반응형
'알아두면 좋은 > IT관련' 카테고리의 다른 글
엑셀 VBA 매크로 배우기, Select ~ Case ~ End Select, Do ~ Loop (0) | 2023.04.26 |
---|---|
엑셀 VBA 매크로 배우기 With ~ End With, Set ~ 배우기 (0) | 2023.04.25 |
엑셀 매크로 IF조건문(IF, ELSEIF, ELSE) 사용하기 (0) | 2023.04.23 |
엑셀 매크로 사용자 정의 함수 만들기 (0) | 2023.04.22 |
엑셀 매크로 변수선언, 내장함수 사용 하기 (0) | 2023.04.21 |
댓글