Lost Information!

엑셀 VBA 기초 - 반복문 딱 2가지만 기억하세요! -2편 본문

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

엑셀 VBA 기초 - 반복문 딱 2가지만 기억하세요! -2편

Lostinformation 2020. 9. 9. 19:10

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

오늘은 저번 글에 이어서

엑셀 VBA 반복문에 대해 알려드릴게요.

 

저번 글이 For 였다면 오늘은 For each

에 대해 알려드릴게요.

 

먼저 도형을 엑셀에 추가하려고 하는데요.

 

혹시 도형을 어떻게 만드는지 모르시는 분들은

삽입도형이라는 부분 클릭하셔서 원하시는

도형 클릭하시고 원하는 위치에 클릭하시면 

도형이 생깁니다. 

 

 

 

저는 도형을 이렇게 배치했고요.

이제 도형을 하나씩 이동시키고

색상도 변경해보려고 하는데요.

 

이제 Alt + F11 눌러볼까요

(비쥬얼 베이직 단축키입니다.)

 

그다음은 마우스 오른쪽 버튼 누르고 

삽입에서 모듈을 클릭해주세요.

 

위의 그림처럼 적어주시면 되는데요.

 

하나씩 설명을 드리자면 

항상 시작은 Sub로 시작한다고 말씀드렸죠. 

 

sub(프로그램 만들 거야) color_test(원하는 이름) () (괄호) 엔터

 

sub 적어주시고 만들고 싶은 이름 적어주시고 시작해보죠.

 

Dim변수설정하기 전에 항상 앞에 

적어준다고도 말씀드렸었습니다.

 

Dim shape(변수 이름) As Object

 

라고 변수 이름과 변수 타입을 설정해줬습니다.

 

변수는 Long과 String만 기억하라고 말씀드려놓고

Object를 써버렸네요 ㅜ

Long은 숫자 String은 문자라는 거 기억하고 계시죠?

 

마찬가지로 Object라는 변수 타입은 도형이나 

객체를 받아 줄 수 있는 변수 타입입니다.

(Object 한 가지도 기억해주세요 ㅜ)

 

그다음 적은 것도 확인해볼까요

 

For each shape in activeSheet.Shapes

 

설정해준 변수값은

현재 시트에 있는 도형을

받으라고 설정했습니다.

 

 

 

shape.Left = Range("B1"). left

 

도형의 왼쪽 위치를 B1셀의 왼쪽 위치로

이동시키라는 말입니다.

 

그다음 색깔을 변경하기 위해서

색을 받는 변수 lngC를 설정해주었고요.

 

엑셀이나 프로그래밍에서 색깔은

숫자로 표현할 수 있기 때문에 Long으로 

변수 타입을 설정했습니다.

 

shape.fill.foreColor.SchemeColor = lngC

 

마찬가지로 안에 채울 색상에 대해서

변수 설정을 해준 건데요.

 

이번 글은 도형이나 색에 중점을 두는 게

아니라 For each에 집중하셔야 합니다

반복문은 숫자가 글자만 반복시킬 수 

있는 것이 아니라 

 

for each를 사용하면 반복되는 객체

반복문을 사용할 수 있다는 것이 핵심이고요.

 

그래서 이 명령문을 실행시키게 되면 

 

이런 식으로 변하게 됩니다.

 

오늘은 글이 어렵다고 생각하시거나 

하실 수 있습니다.

 

하지만 이번 글에 집중해야 할 것은

for each로 객체가 반복되는 상황도

반복문으로 만들 수 있다는 것

기억해주시면 됩니다.

 

혹시나 나는 복습이나 나만의 다른 위치로

이동시켜보고 싶다 하시는 분들은

 

위에 명령문 적으셔서 이곳저곳으로 

이동시키고 색상도 변경해보시면서

연습 충분히 하셨으면 좋겠네요.

 

그럼 궁금하신 점 있으시면 댓글 부탁드리고요.

 

공감구독도 부탁드릴게요~~

Comments