나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 안성진 (tjdwls972)

추천:  2
파일:     조회:  3051
제목:   조삿갓님 저번 Worksheet _change 답변에대한 추가질문이요!!
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>
     
  * 아래줄에 질문을 작성하세요 >>
D2:F3 범위안의 셀값을 A2셀의 값이 바뀌면 모두 사라지게 할수 없을까요? 아무리 생각해도 알수가 없어 질문드립니다.좋은 하루 되십시요.
감사합니다.
 ==============[김태우님 글에 대한 답변입니다]==============

1) VB 편집기를 여세요.(개발도구-Visual Basic)
 2) 왼쪽 프로젝트탐색기에서 해당 워크시트 개체를 더블클릭
3) 오른쪽에 코드편집 창이 열리면
4) 왼쪽 개체선택 드롭다운에서 Worksheet 선택
5) 기본적으로 SelectionChange 이벤트가 자동 입력되지만 무시하고
6) 오른쪽 이벤트 선택 드롭다운에서 Change 선택
7) 다음과 같이 코드 입력하여 완성
-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address = "$A$2" Then Range("D2:F3").ClearContents
 End Sub
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
======================[추가 질문]===================================
위와 같은 내용과 비슷한데요  조삿갓님 답변이 많은 도움이되었습니다.
좀더 나아가서 저는 F열의 값이 변하면 G열의 값을 삭제하고싶습니다.
그래서 다음과 같이 코드를 짰습니다.
 If Target.Address = "$F$4" Then Range("G" & 4).ClearContents
  If Target.Address = "$F$5" Then Range("G" & 5).ClearContents
   If Target.Address = "$F$6" Then Range("G" & 6).ClearContents
    If Target.Address = "$F$7" Then Range("G" & 7).ClearContents
     If Target.Address = "$F$8" Then Range("G" & 8).ClearContents 
이런식으로 짯더니 1:1대응으로 각셀을 변할땐 각각 지워집니다.
그런데 영역을 선택해서 F4:F8을 한번에 지우면 G열들의 값들이 지워지지 않습니다. 

결론
- 구현하고싶은 기능
1.F열중 하나의 셀을 선택해서 값이 하면 G열의 같은 행번호의 내용이 지워진다.
2.F열의 특정 범위를 선택하여 지우면 F열에서 선택한 영역의 범위 만큼 G열도 내용이 지워진다.

부탁드리겠습니다.

 
[불량 게시물 신고]  
        
  

작성일 : 2018-03-29(14:15)
최종수정일 : 2018-03-29(14:16)
 


 ◎ 관련글

  제 목   작성자   날짜
조삿갓님 저번 Worksheet _change 답변에대한 추가질문이요!! 안성진 2018-03-29
강좌: Worksheet _change 이벤트 핸들러 설계하기 조삿갓 2018-03-29
추가 보충: For Each 반복문을 활용하는 방법 조삿갓 2018-03-30