Lost Information!

엑셀 VBA 기초 - FOR_NEXT 그리고FOR_EACH 마무리 - 1편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - FOR_NEXT 그리고FOR_EACH 마무리 - 1편

Lostinformation 2021. 1. 18. 21:29

모두가 칼퇴하는 그날까지~

 

지난 글에서는

엑셀 셀에서 더블클릭으로

이미지를 선택하는 창을

만드는 방법에 대해

알려드렸습니다.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2492

 

엑셀 VBA 기초 - 이미지 선택창 열어주기 - 2편

모두가 칼퇴하는 그날까지~ 지난 글에서는 엑셀 셀에서 더블클릭으로 이미지를 선택하는 창을 띄우는 법에 대해 알려드렸습니다. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에

red-s.tistory.com

 

이번 글에서는 

FOR_NEXT 그리고

FOR_EACH 완벽하게

알려드리겠습니다.

 

두 구문에 대해 

헷갈리시거나 제대로

모르시는 분들이 

많으실 것 같아 

정확히 알려드리려고 합니다.

 

먼저 FOR~NEXT문은

숫자를 사용한 반복문

 

FOR Each~NEXT문은

객체를 사용한 반복문

 

이렇게 생각하시면 됩니다.

 

그럼 일단 엑셀을 실행해주세요.

 

먼저 FOR_NEXT의 숫자란

행과 열의 번호가 될 수 있습니다.

 

FOR Each~NEXT문의 객체란

위의 그림처럼 도형이나 

차트나 표가 될 수가 있습니다.

 

그런데 가장 헷갈리는 부분은

바로 이것일 텐데요.

 

이렇게 같은 범위를 잡고

계산을 하는데 어떤 것은

FOR_NEXT문을 사용하고

어떤 것은 FOR Each_NEXT문을

사용하기 때문이라고 생각합니다.

 

그 이유는 바로 가로 세로

행과 열의 번호를 가지고 

반복문을 실행시킬 수도 있지만

 

범위 자체가 RANGE라는 객체로

반복시킬 수도 있기 때문입니다.

 

그래서 이번에는

옆의 숫자가 짝수인지

홀수인지 구분하는 구문을

하나는 FOR_NEXT문으로 

하나는 FOR Each_NEXT문으로 

작성해보겠습니다.

 

그럼 ALT+F11을 눌러주시고요.

 

예제 1의 구문은

이렇게 작성해주겠습니다.

 

바로 설명해드리면

 

Sub Ex_1()
Dim i       As Long

EX_1이라는 매트로를

만들고 i라는 변수를

설정해줘(숫자)


For i = 5 To 15

i는 5부터 15까지 

반복하는데

(데이터가 있는

행의 처음과 끝번호)


If Range("B" & i) Mod 2 = 0 Then

B열 i행의 값을

2로 나누었을 때 값이

0과 같다면


Range("C" & i) = "짝수"

C열 i행은 짝수라고 적고


Else

Range("C" & i) = "홀수"

그렇지 않다면 홀수라고 

적어라


End If
Next i
End Sub

그리고 실행하게 되면

 

이렇게 나오게 됩니다.

 

하나의 행씩 반복하면서

짝수인지 홀수인지 

구분하고 적어주게 되죠.

 

크게 어렵지 않으실 거라

생각하며

그럼 FOR_EACH_NEXT는

어떻게 적어야 할까요?

 

그건 다음 글에 이어서 

알려드리도록 하겠습니다.

 

그럼 여기까지 궁금하신 점은

댓글에 남겨주시고

공감 구독도 부탁드립니다.

Comments