2017-02-07 1 views
0

나는 믿을 수 없을만큼 간단한 테스트가 될 것이라고 생각했던 것을 성취하는데 지쳤습니다. 달성하고자하는 모든 것은 사용자가 새 셀을 선택하거나 셀의 내용을 변경할 때 MsgBox을 팝업하는 것입니다.Excel Worksheet_SelectionChange 이벤트가 전혀 실행되지 않습니까? (Office 2013 및 2016 모두)

약 6 시간 동안 사용해 본 결과 지금까지 전혀 성공하지 못했습니다. 필자는 Office 2016 (Windows 10)과 Office 2013 (Windows 7)에서 동일한 동작을합니다.

  1. 새로운 매크로 사용 통합 문서를 만듭니다 : 여기

    내 방법 (들)입니다.
  2. 통합 문서에 새 매크로를 기록하십시오. 녹음을 중지하십시오. VBA를 엽니 다.
  3. "모듈 1"코드를 열고 원하지 않는 코드를 아래 코드로 바꿉니다. 파일을 저장하십시오.
  4. 파일 -> 옵션 -> 보안 센터 -> 보안 센터 설정 -> 매크로 설정 -> "VBA 프로젝트 개체 모델에 대한 액세스 신뢰"가 선택됩니다. 파일을 저장하십시오.
  5. 나는 또한 다양한 세포 또는 편집 셀을 클릭 할 수 있도록 기대하고 Application.EnableEvents = True
  6. 을 보장하고, 이벤트가 발생할 때마다 MsgBox을 받았습니다. 나는 무엇을 놓치고

    Option Explicit 
    
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  
        MsgBox "changed!" 
    End 
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
        MsgBox "selected!" 
    End Sub 
    
    Public Sub Just_In_Case() 
        Application.EnableEvents = True 
    End Sub 
    

    : 여기

내 코드? 이 작업 이벤트를 방지하는 보안 설정이 있습니까? 나는 집에서 오프라인으로 일할 때 온라인에서 동일한 행동을한다.

도움을 주셔서 감사합니다. :) 관련된 경우

PS 여기, 내 VBA 환경의 스크린 샷입니다 : Workbook_SheetChange 코드가 아닌 일반 모듈에서 ThisWorkbook 코드 모듈에 있어야 https://i.stack.imgur.com/yXkMK.png

+0

그래서 사용자가 시트 2를 선택하면 (예를 들어) 사용자가 다른 시트를 선택했음을 알리는 팝업이 나타나기를 원합니 까? –

답변

0

있다.

편집이 :와 Worksheet_SelectionChange이 완료 참고로 워크 시트 코드 모듈

http://www.cpearson.com/excel/events.aspx

+0

고마워요! 그것은 그것의 대부분을 해결했습니다! 그리고 워크 시트 이벤트는'ThisWorksheet' 코드 모듈에 들어갑니다.: D –

+0

예 - 죄송합니다. 워크 시트 수준 이벤트도 사용하고 싶었습니다. –

0

에 간다,이 솔루션은 내 코드가 잘못 Module1 코딩 영역에 배치 된 것입니다. (나는! 다른 곳 갈 수 아무 생각 코드 없었다)

Workbook_SheetChange()

Worksheet_SelectionChange()이 같이

Sheet1 아래에 속하는

ThisWorkbook 아래에 속하는! 이미지 스크린 샷 : Sheet1 ThisWorkbook

당신의 도움을 위해, 너무 많은 팀을 주셔서 감사합니다! : D

관련 문제