programing

처리된 이벤트를 두 번 클릭한 후 편집 모드 종료/비활성화

telecom 2023. 9. 2. 07:57
반응형

처리된 이벤트를 두 번 클릭한 후 편집 모드 종료/비활성화

사용자가 Excel 시트의 셀을 클릭한 후 대화상자를 표시하려고 합니다.이와 같은 것:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    MsgBox "a cell was clicked!", vbOKOnly, "a click"
End Sub

완벽하게 잘 작동합니다.문제는 더블 클릭 편집 모드가 켜지고 수식이 입력될 것으로 예상된다는 것입니다.이 동작을 비활성화하려면 어떻게 해야 합니까?

순수 기능을 달성하고 싶습니다. ~ 사용자가 셀을 클릭하여 대화상자가 나타납니다. 사용자가 대화상자를 닫습니다. 셀이 편집 모드로 전환되지 않습니다. 시트는 더블 클릭 이벤트 이전과 동일하게 보입니다.

인수에 지정된 변수를 사용하여 작업을 취소해야 합니다.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     MsgBox "a cell was clicked!", vbOKOnly, "a click"
     'Disable standard behavior     
     Cancel = True
End Sub

다음은 더미 예제입니다.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim response As Variant
response = MsgBox("Are you sure you want to edit the cell?", vbYesNo, "Check")
If response = vbYes Then
    Cancel = False
Else
    Cancel = True
End If
End Sub

설정할 필요가 없습니다.Cancel로.False기본값이기 때문입니다(이 값은 예제용입니다).

언급URL : https://stackoverflow.com/questions/8848253/exit-disable-edit-mode-after-double-click-handled-event

반응형