2011-05-15 2 views
1

나는 TreeView 컨트롤이있는 userform을 가지고 있으며, 그 컨트롤에서 노드를 드래그하여 워크 시트에 드롭합니다. 이 부분은 잘 작동하지만 사용자가 노드를 삭제 한 셀 주소 (또는 최소한 행 번호)를 알아야합니다. MouseUp 이벤트 및 hittest 함수 같은 것을 찾으려고했지만 분명히 Excel에서이 기능을 제공하지 않습니다.워크 시트에 대한 MouseUp 이벤트가 있습니까?

물론 _OLECompleteDrag 직후에 발생하는 Worksheet_SelectionChange를 확인할 수는 있지만 "확실한 방법"으로 내게 호소하지 않습니다.

아이디어가 있으십니까?

답변

1

모듈 디렉토리의 자체 모듈이 아닌 시트 모듈 (VBA 프로젝트 탐색기를 볼 때 Microsoft Excel 개체 디렉토리에 있음)에 코드를 넣어야합니다. 기본적으로 원하는 프로세스를 트리거하는 이벤트 핸들러가 필요합니다.

트리거를 수행하고 트리거 될 때 셀의 주소를 표시합니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

    MsgBox (Target.Address) 

End Sub 

필요에 맞게 확장 할 수 있어야합니다. 이 기능이 어떻게 작동하는지 알려주십시오.

+0

나는 똑같은 이야기를하고 있는데, 워크 시트 변경 이벤트는 타이머 (OLECompleteDrag 직후 이벤트가 발생해야한다.)를 구현했는데 더 나은 솔루션을 찾고 있었다. – mtelis

관련 문제