[VBA 제 21강] Worksheet_Change이벤트 썸네일 이미지
[VBA 제 21강] Worksheet_Change이벤트
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회3,208
즐겨찾기
[VBA 제 21강] Worksheet_Change이벤트를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 




[ 기초 강좌 ]

 

제 21 강

Worksheet_Change이벤트

 

Worksheet_Change이벤트

그 사용법을 알아봅니다.

이럴 때 필요해요

 

Worksheet_Change 이벤트 프로시저 : 워크시트의 특정 셀의 값이 변경되었을 경우 이를 감지하여 즉각 해당 코드를 자동으로 실행하는 프로시저

이렇게 사용해요

먼저 아래의 C7 셀에 적당한 데이터(예 : 김우수)를 입력하신 다음에  Enter! 해보시기 바랍니다.

 

 

 

아마 방금 입력한 데이터의 정보를 알려주는 메시지가 MsgBox로 나타 날 것입니다.

그런데 뭔가 이상하지 않습니까? 지금까지는 버튼에 프로시저를 연결해서 연결된 버튼을 눌러야만 해당 프로시저가

실행되는 방법으로만 사용해 왔는데, 자료를 입력하고 Enter키만 눌러도 프로시저가 실행되어 즉각 MsgBox가 나타나니까요

 

지금 부터 그 궁금증을 풀어드리겠습니다!

 

1) 먼저, [프로젝트 탐색기] 창에서 Sheet1(Sheet1) 오브젝트를 더블클릭하면 오른쪽에 [코드 창]이 나타날 것입니다.

 

2 )아래의 그림과 같이 [코드창] 상단에 있는 드롭다운 버튼(빨간색 동그라미)을 클릭하여 'Worksheet' 오브젝트의

   'Change'이벤트를 각각 호출합니다.

 

 

3) 아래의 코드를 복사하여 흰색 동그라미 부분에 붙여넣기 합니다.

 

    If Target.Address = "$C$7" Then

  MsgBox "입력하신 자료는 " & Target.Value & " 입니다. ", vbInformation, "// ChangeEvent"

    End If

 

자 그럼 다음은 프로시저의 내용을 살펴 보도록 하겠습니다.

 

 If Target.Address = "$C$7" Then

 

만약에(If), Target(여기서 Target이라는 것은 현재의 Worksheet에서 값이 변경되는 모든셀을 의미합니다.)의 셀 주소가

$C$7일 경우, 즉 C7 셀의 값이 변경될 경우에만 아래의 내용을 실행하게 됩니다.

이것을 반대로 해석하면 C7셀이 아닌 다른 셀의 값은 아무리 변경되더라도 신경쓰지 말라는 뜻이 됩니다.

 

 MsgBox "입력하신 자료는 " & Target.Value & " 입니다. ", vbInformation, "// ChangeEvent"

 

MsgBox로 Target,Value(즉, C7 셀이 나타내는 값)을 표시합니다.

 

그런데 만약에 위에서와 같이 If Target,Address = "$C$7" Then 이라는 조건분기문을 사용하지 않고 프로시저를 실행하면

어떻게 될까요 아마 모든셀들의 값이 변경될 때 마다 MsgBox가 나타나게 될 것입니다.

 

우리가 Worksheet에서 움직이는 모든 행위, 즉 특정 셀을 선택하거나 또는 데이터를 변경하거나 또는 방향키를 누른다든지 등의

모든 동작은 그에 따른 이벤트(Event)가 각각 발생하게 됩니다.

그 중에서도 위에서와 같이 워크시트에서 특정 셀(또는 범위)의 값이 변경되었을 경우, 이를 감지하여 즉각 해당 코드를 자동으로

실행하는 프로시저를 Worksheet_Change 이벤트 프로시저라고 합니다.

여러상황에 매우 유용하게 사용할 수 있는 이벤트 프로시저이니 잘 기억해 두시기 바랍니다. 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 21강] Worksheet_Change이벤트
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중