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

 하하파더 (darkjihun)

추천:  2
파일:     조회:  1819
제목:   동일 매크로 조합 방법 질문!
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

* 아래줄에 질문을 작성하세요 >>


안녕하세요. 한창 매크로 사용에 신세계를 느끼고 있는 초짜입니다.
블로그에서 갖다붙여넣기하면서 업무에 활용 중인데..

밑에 동일한 코드구문을 중복 적용해서 사용해보려고 하는데 작동이 안되네요.
완전 초보라 근본적인 문제를 이해하지 못하니 간단한 설명도 해주시면 감사하겠습니다!!

블로그상 보니 표준모듈이 아닌 시트 모듈에서 편집하라고 하네요.
우선 1개만 할 때는 잘 작동해서 변형 적용 중에 있습니다.


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub                         '한 셀 선택시만 매크로 작동
    If Target.Address(0, 0) <> "E81" Then Exit Sub       'E81셀 변경시에만 매크로 작동
    
    Dim strAddr As String                                         '처음 검색하여 찾은 셀의 주소 넣을 변수
    Dim rngC As Range                                           '검색하여 찾은 영역을 넣을 변수
    
    With ActiveSheet.UsedRange.Offset(81)                 '81행 제외한 전체영역에서
        Set rngC = .Find(what:=Range("E81").Value, lookat:=xlPart)
            '처음 일치하는 데이터를 찾아 rngC에 넣고
                
        If Not rngC Is Nothing Then  '만일 일치하는 셀이 있으면
            Application.Goto Reference:=Range(rngC.Address), Scroll:=True
                '찾은 셀을 화면 제일 왼쪽 위쪽에 위치
        End If
    End With
End Sub

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub                         '한 셀 선택시만 매크로 작동
    If Target.Address(0, 0) <> "G81" Then Exit Sub       'G81셀 변경시에만 매크로 작동
    
    Dim strAddr As String                                         '처음 검색하여 찾은 셀의 주소 넣을 변수
    Dim rngC As Range                                           '검색하여 찾은 영역을 넣을 변수
    
    With ActiveSheet.UsedRange.Offset(81)                 '81행 제외한 전체영역에서
        Set rngC = .Find(what:=Range("G81").Value, lookat:=xlPart)
            '처음 일치하는 데이터를 찾아 rngC에 넣고
                
        If Not rngC Is Nothing Then  '만일 일치하는 셀이 있으면
            Application.Goto Reference:=Range(rngC.Address), Scroll:=True
                '찾은 셀을 화면 제일 왼쪽 위쪽에 위치
        End If
    End With
End Sub



 
[불량 게시물 신고]  
slgiVBA에 코드를 작성할 수 있는 부분은 여러군데가 있습니다.  모듈의 경우는 공통적인 소스나 특정한 기능을 하기 위한 부분이라고 할 수 있고 Sheet1,Sheet2 와 같이 Sheet 에 코드를 작성할 수 있는데 이경우는 Sheet의 이벤트를 처리하기 위한 것입니다.  위의 경우도 Worksheet_Change 라는것은 해당  Sheet에서 코드를 작성하셔야 합니다. 이벤트는 해당Sheet의 셀에 Data가 변경이 될때 자동으로 호출되는 함수입니다. 
04-22 (10:09)
삭제 ■신고
하하파더제가 위에 첫번째 E81셀 변경 코드를 이용해서 G81셀 변경 코드도 동일 시트에 추가하고 싶은데 어떻게 코드를 합쳐야할지 모르겠네요. 도움 좀 부탁드립니다. ㅠ04-22 (10:49)
삭제 ■신고
        
  

작성일 : 2020-04-22(09:48)
최종수정일 : 2020-04-22(09:48)
 


 ◎ 관련글

  제 목   작성자   날짜
동일 매크로 조합 방법 질문! 하하파더 2020-04-22
[RE]동일?매크로?조합?방법?질문! slgi 2020-04-22