본문 바로가기
알아두면 좋은/IT관련

엑셀 VBA 매크로 배우기, For ~ Next, For Each ~ next 반복문 사용해

by 달봄z 2023. 4. 24.
반응형

엑셀 매크로 사용법에 대해서 공부하고 있는데요

오늘은 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 - 10).Value = "해커스"
    Next i
    
End Sub

 

1
2
3
4
5
6
7
Sub test()
 
    For i = 1 To 10
       Range("c1").Offset(i - 10).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 구문 시트에 적용하기

현재 파일의 워크시트를 가지고 와서 하나하나 색상을 변경

 

 

 

 

 

엑셀 매크로 IF조건문(IF, ELSEIF, ELSE) 사용하기

엑셀 IF조건문에 대해서 알아볼게요 제가 공부 차원에서 정리하는 거라 조금 두서없을 수는 있지만 같이 공부하는 기분으로 보시면 좋을 것 같아요 IF 조건문 구조 If 문은 순차적 프로그램인 엑

moonzspring.com

 

반응형

댓글