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

엑셀쿠키는 한 번의 다운로드로 평생 이용하실 수 있습니다. 프로그램과 데이터를 고객의 PC에 저장하여 사용하는 형식이라 안전하게 사용 가능합니다. 이용 기간에 따른 추가 비용이 발생하지 않아 매우 경제적입니다.

맞춤형

중소기업의 개별 특성, 다양한 업무를 상황별로 고려하여 제작된 프로그램을 업데이트합니다. 분야별 5,000여 개의 프로그램 중 내 업무에 맞는 프로그램을 다운받는 맞춤형 서비스입니다.

쉬운 활용

쿠키 프로그램은 MS Excel의 기본 사용법만 알면 즉시 사용할 수 있는 매운 쉬운 프로그램으로 누구나 손쉽게 배우고 사용할 수 있습니다.

중소기업의 모든 업무자동화!

엑셀쿠키로 모두 해결하세요!
1 Vector 11
image 59
image 60
image 56
Pro display XLS Vector 12
Microsoft Excel 표준

쿠키의 업무자동화 프로그램은 VBA 코드로 개발된 제품으로
MS Excel 프로그램 기반으로 사용 가능하며,
자체적으로 개발한 기능은 물론,
MS Excel의 강력한 기능을 모두 사용하실 수 있습니다.

241202_coukey_BI_white2_07

엑셀쿠키는 기업의 생산성을 높이는 업무자동화 지원 프로그램입니다.

image 62 image 70 image 61 image 71 image 65 image 66 image 64 image 68
image 63 image 69
제품 상세정보

 




[ 기초 강좌 ]

 

제 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% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중