2012-01-13 6 views
6

के बाद संपादन मोड से बाहर निकलें/अक्षम करें उपयोगकर्ता एक एक्सेल शीट में किसी सेल पर क्लिक करने के बाद एक संवाद प्रदर्शित करना चाहता हूं। कुछ इस तरह:डबल क्लिक हैंडल इवेंट

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 

यहाँ एक डमी उदाहरण है::

उत्तर

13

आप चर तर्क में दिए गए के साथ कार्रवाई को रद्द करने के

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 

ध्यान दें कि आप False को Cancel स्थापित करने के लिए नहीं होगा क्योंकि यह डिफ़ॉल्ट मान (यह उदाहरण उद्देश्य के लिए है)।