2014-12-26 3 views

답변

0

... 도움말에서

코드는 클릭 이벤트가있는 경우

의 DblClick 이벤트 것이다 결코 트리거가 이것에 대한 간단한 대답은,하지만 웹에서 아무것도 찾을 수 없습니다 확신 왜냐하면 Click 이벤트는 둘 사이에서 트리거되는 첫 번째 이벤트이기 때문입니다. 따라서 마우스 클릭을 DblClick 이벤트가 발생하지 않도록 Click 이벤트에 의해 가로 챌 것입니다.

마우스를 아래로 잡아서 마우스를 올려보십시오. 마우스가 아래쪽으로 움직이지 않으면 500ms를 기다린 후 마우스를 길게 잡을 때까지 한 번 클릭하십시오.

DoubleClickSpeed ​​ HKCU \ 제어판 \ 마우스

데이터 형식 범위 기본값 REG_SZ 100-900 (십진수 밀리 초) 500

0

Brad Yundtthis post에 전문가 - 거래소에서이 영리한 해결 방법을 제공합니다.

당신이

당신은 후 1 초 leftclick에 대한 응답을 예약 Application.OnTime를 사용하여 시도를 말할 수 엑셀은 PLS 내가 잘못 오전 알려 주시기이 WRT를 요청했습니다 가정 하였다 지연. 그 동안 doubleclick 또는 rightclick 이 발생하면 OnTime 하위 의 leftclick 이벤트가 발생하지 않습니다.

다음 코드는 감시중인 워크 시트의 코드 창에 표시됩니다. 탭 이름이 아니라 해당 워크 시트의 코드 이름을 사용합니다.

작성된 것처럼 코드는 단일 셀에서 leftclick, rightclick 또는 doubleclick에 대해 A1 : A10을 봅니다. 그런 다음 클릭 한 셀의 이름을 지정하는 메시지 상자와 클릭 유형을 표시합니다.

워크 시트 이벤트 코드 주석에 대한

Dim bTrapped As Boolean 
Dim cel As Range, rgWatch As Range 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Not Intersect(cel, Target) Is Nothing Then 
    MsgBox "Doubleclick at " & cel.Address 
    bTrapped = True 
    Cancel = True 
End If 
End Sub 

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
If Not Intersect(cel, Target) Is Nothing Then 
    MsgBox "Rightclick at " & cel.Address 
    bTrapped = True 
    Cancel = True 
End If 
End Sub 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
Dim targ As Range 
Set rgWatch = Range("A1:A10") 
Set targ = Intersect(Target, rgWatch) 
If Not targ Is Nothing Then 
    If targ.Cells.Count = 1 Then 
     bTrapped = False 
     Set cel = targ.Cells(1, 1) 
      'Allow 1 second for user to complete a rightclick or doubleclick before trapping leftclick 
     Application.OnTime Now + 1/86400, "Sheet1.DelayedWatch"  'Note that Sheet1 is codename for worksheet (not tabname) 
    End If 
End If 
End Sub 

Private Sub DelayedWatch() 
If bTrapped = False Then 
    MsgBox "Leftclick at " & cel.Address 
End If 
End Sub 
+0

감사 브렛. 불행히도 제 질문에 모호합니다 - 사과. 예, Excel을 사용하고 있습니다. 그러나 내 질문은 ActiveX 컨트롤보다는 셀 관련이 있습니다 - "SelectionChange"함수를 컨트롤을 작동합니다 얇게 지 않습니다. 어떤 대안이 있는지 아십니까? – fatgecko

관련 문제