Lost Information!

엑셀 VBA 기초 - 클릭하면 셀이 바뀌는 이벤트 -2편 본문

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

엑셀 VBA 기초 - 클릭하면 셀이 바뀌는 이벤트 -2편

Lostinformation 2020. 10. 26. 17:23

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

 

지난 글에서는 

클릭하면 셀이 바뀌도록

설정하는 방법에 대해

알려드렸는데요.

 

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

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2429

 

엑셀 VBA 기초 - 클릭하면 셀이 바뀌는 이벤트 -1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 엑셀 오픈 시 비밀번호 설정하고 이를 감추는 방법까지 알려드렸는데요. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고해주

red-s.tistory.com

 

그래서 이번에는 

이를 활용하는 방법에 대해

이어서 알려드리도록 

하겠습니다.

 

저번 글에서 한 내용은

어느 셀이든 클릭하면 

변하도록 설정하였습니다.

 

하지만 우리가 필요한 건

해당 데이터를 가지고 있는

표에만 체크를 하는 것이

좋겠죠.

 

그래서 범위를 지정해주도록

하겠습니다.

 

먼저 ALT + F11 버튼을

눌러주세요.

 

 

그리고 이렇게 적어주시면

원하는 셀에만 원하는 클릭

했을 때 색상이 변하게

설정할 수 있는데요.

 

바로 설명 들어갈게요.

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
If Intersect(Target, Range("c6:I20")) Is Nothing Then Exit Sub
만약 범위 안에 포함되거나

선택한 부분 두 개 조건이

만족하지 않는다면

실행하지 마 
       
Target.Interior.ColorIndex = 6
하지만 그게 아니라면

선택한 부분의 색상을

노란색으로 변경해 
               
End Sub

 

이다음 저장 후에 실행한다면

 

이렇게 데이터 표 외에

다른 셀에는 색상이 

변경되지 않으며 

표에만 적용되는 것을

볼 수 있습니다.

 

또한 저번 글의 내용까지

이용하여 색상이 변한 셀을

다시 클릭하면 흰색으로

변경되도록 설정할 수 있는데요.

 

 

이렇게 적어주시고

 

ColorIndex 외에 

반복되는 부분은 

with를 활용해 

적어줌으로써 조금 더

편하게 사용할 수 있습니다.

 

저번 글에 나왔던 코드라

따로 설명은 하지 않겠습니다.

 

당연히 드래그를 했을 때도

색상이 변하고 다시 드래그를

하면 색상이 하얀색으로 

돌아오게 되는데요.

 

만약 클릭했을 때만 

한 개의 셀이 변하기를 원한다면

 

 

if target.count > 1 then exit sub

만약 선택한 셀의 수가

1보다 크다면 적용하지 마

 

이렇게 코드를 적어준다면

드래그했을 때는 실행되지

않도록 설정할 수 있습니다.

 

크게 어렵지 않지만 

발표를 하거나 누군가에게

설명을 할 때 체크할 수 있기에

도움이 될 수 있습니다.

 

또한 이번 글에서는

알려드리지는 않았지만

다른 글들과 조합해서

이름을 클릭하면 행의

색상이 변경되도록 

또는 클릭했던 색상들이

한 번에 지워지도록 

세팅할 수도 있습니다.

 

여기까지 궁금하신 점은

댓글로 남겨주시고요.

 

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

 

 

Comments