Lost Information!

엑셀 VBA 기초 - 셀을 변수로 사용해보자 - 2편 본문

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

엑셀 VBA 기초 - 셀을 변수로 사용해보자 - 2편

Lostinformation 2020. 9. 28. 20:19

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

지난 글에서는 

 

셀을 변수로 사용해서 

그 조건에 따라 내가 

원하는 값으로 변환시키는

코딩에 대하여 설명드렸는데요.

 

이번 글에서는 이어서 

설명드리도록 하겠습니다.

 

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

까먹으셨다면 밑에 글을 

참고해주세요.

red-s.tistory.com/2413

 

엑셀 VBA 기초 - 셀을 변수로 사용해보자 - 1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 셀. end.(xlup). row 셀. end(xltoleft). column 을 통해 마지막행과 열의 데이터를 찾아 자동화하는 방법에 대해 알려드렸는데요. 혹시 기억나지 않으신다면 1��

red-s.tistory.com

저번 글을 보시고 그냥

조건부 서식으로 하면 되는 거

아닌가요?라고 생각하시는 분들도

계실 거라고 생각해요.

 

하지만 중요한 건 원하는 조건을

적용하기 위한 코딩도 물론 중요하지만

이미 원하는 서식을 적용한 

'셀'로도 조건을 추가할 수 

있다는 것이 중요한 점이라는 것을

잊지 않으셨으면 좋겠고요.

 

그럼 저번 글에 이어서

 

만약 본사 직영이 아니고

가맹점으로 변경하고 

실행하게 되면 어떨까요?

이렇게 기존에 있는 색들이

없어지지 않은 채 그대로 

가맹점에 해당하는 부분도

색상이 변경될 거예요.

 

결국 두 개를 연속해서 

실행했을 경우 구분을 할 수

없게 되겠죠.

 

그래서 기존의 남아있는

서식을 지우는 구문을

추가로 작성해주어야 하는데요.

 

이렇게 적어주시면 됩니다.

 

바로 설명해드리면요.

 

Range("E8"). CurrentRegion.Interior.ColorIndex = 0

E8셀부터 값으로 이어지는 전체 범위에서 

셀 안의 색상을 0으로 변경해 (색상을 없애)

 

Range("E8"). CurrentRegion.Font.ColorIndex = 0

E8셀부터 값으로 이어지는 전체 범위에서

폰트의 색상을 0으로 변경해 (색상을 없애)

 

이런 뜻입니다.

 

이걸로 실행하게 되면 

 

이렇게 조건을 변경해주고

실행할 때마다 기존에 있던 

서식은 지워지는 것을 볼 수 있죠.

 

또 위의 구문중에 

 

Range("E8"). CurrentRegion.Interior.ColorIndex = 0

Range("E8"). CurrentRegion.Font.ColorIndex = 0

 

Range("E8"). CurrentRegion이 

반복되는 것을 볼 수 있는데요.

 

두 개가 아니라 여러 개인 경우

앞의 구문을 계속해서 복사

붙여 넣기 하는 방식으로 

사용하지 마시고 

 

with Range("E8"). CurrentRegion

    . Font.ColorIndex = 0

    . Interior.ColorIndex = 0

end with

 

라고 적어주시면 반복되는

구문을 계속해서 적어주지

않으셔도 돼요.

 

또 해당 매크로를 모듈 창이

아닌 엑셀 시트에서 실행시키고

싶은 경우에는 

 

이렇게 개발도구 탭에서

삽입버튼을 추가시켜준 뒤

매크로를 지정시켜주시면

원하는 조건에 따라 

실행키를 누르면 해당 차트에

표시가 되는 엑셀이 완성됩니다.

(이름을 실행이 아닌 원하는

이름으로 설정할 수도 있습니다.)

 

 

또 조건을 90 이하에

색상은 녹색에 노란 글씨로

셀 조건만 변경해줘도 

또 데이터의 양이 늘어나도

알아서 마지막행을 찾는 만큼

 

 

이렇게 자유자재로 변경할 수

있는 엑셀을 만들 수 있는 거죠.

 

이제 슬슬 가독성도 좋고

칼퇴를 위해 조금씩 도움이 

되는 엑셀을 만드실 수

있을 거라고 생각하고요

 

여기까지 궁금하신 점이

있다면 댓글에 남겨주시고요.

 

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

 

 

 

Comments