Lost Information!

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

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

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

Lostinformation 2020. 10. 23. 22:37

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

 

지난 글에서는 

엑셀 오픈 시 비밀번호

설정하고 이를 감추는

방법까지 알려드렸는데요.

 

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

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2427

 

엑셀 VBA 기초 - 엑셀 event? 만들어보자 -3편

모두가 칼퇴하는 그날까지~ 지난 글에서는 엑셀 오픈 시 비밀번호 설정하는 법에 대해 조금은 알려드렸는데요 이번 글에서 이어서 알려드리도록 하겠습니다. 만일 저번 내용을 모르시거나 기

red-s.tistory.com

 

이번 글에서는 selection

change 이벤트에 대해

알려드리려고 해요.

 

이건 바로 선택한 곳에

기준으로 어떠한 작업을

시작하게 만들어주는 것인데요.

 

위와 같은 표가 있다고 가정해볼게요.

 

그럼 바로 시작하기 위해 

ALT + F11 버튼 눌러서 시작하겠습니다.

 

제 글에서 일반적으로

사용했던 삽입에 모듈로

클릭하지 않고 해당 데이터가

있는 시트를 더블클릭하여 

위와 같은 창이 뜨게 됩니다.

 

그러고 나서 

위의 일반이라고 쓰여있는 부분을

Worksheet라고 변경해주세요.

 

 

그럼 이렇게 자동으로

sheet 이벤트의 기본 세팅인

SelectionChange 코드가

나오게 됩니다.

 

 

위와 같이 적어주시면 되는데요.

 

바로 설명 들어가면

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

선택한 셀과 이벤트의 범위를 설정해


Target.Interior.ColorIndex = 3 
선택한 셀의 내부의 색을 3으로 변경해
        
End Sub

 

이렇게 저장하고 실행하게 되면

 

 

이렇게 클릭하는 곳마다 

셀의 색상이 빨간색으로 

변경되는 것을 확인할 수 있습니다.

 

만약 색을 지우고 싶다면

숫자의 값을 0으로 변경하시면

색 적용된 것을 지울 수 있습니다.

 

당연히 드래그하여 범위로 

지정하셔도 적용이 됩니다.

 

 

또한 이렇게 적음으로서 

클릭할 때는 빨간색 

그리고 빨간색을 다시 클릭하면

하얀색으로 돌아오게

설정할 수도 있습니다.

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
        
 If Target.Interior.ColorIndex = 3 Then 

만약 내부의 색상의 빨간색이라면

 

Target.Interior.ColorIndex = 0 

내부 색상을 하얀색으로 변경해
             
Else

그렇지 않다면 
        
Target.Interior.ColorIndex = 3 
내부 색상을 빨간색으로 바꿔             


End If 
                        
End Sub

 

당연히 실행하게 되면

 

이렇게 빨간색을 

클릭하면 하얀색으로 

하얀색을 클릭하면 

빨간색으로 변경되는

셀을 만들 수 있습니다.

 

그렇다면 이렇게 만든

코드는 어떻게 활용할 수

있을까요?

 

그건 바로 다음 글에 

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

 

여기까지 궁금하신 점은

댓글로 남겨주시고요.

 

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



 

2 Comments
댓글쓰기 폼