2011-12-20 16 views
17

मेरे पास मेरे फॉर्म पर एक बटन है जो पूरे 8 शीट कार्यपुस्तिका को साफ़ करता है। मैं इसे कभी-कभी साफ़ करना चाहता हूं, लेकिन मुझे दुर्घटना से ऐसा करने से नफरत होगी। मैंने इसे गुगल करने की कोशिश की है, लेकिन मुझे लगता है कि हर परिणाम मुझे लगता है कि मेरे पास वीबीए की बहुत दृढ़ समझ है। बटन को क्लिक करने पर मैं इसे कैसे बना सकता हूं, एक संवाद बॉक्स पॉप-अप कहता है, "यह सबकुछ मिटा देगा! क्या आप निश्चित हैं? [जारी रखें] [रद्द करें]"? धन्यवाद।जोड़ें "क्या आप निश्चित हैं?" मेरे एक्सेल बटन पर, मैं कैसे कर सकता हूं?

उत्तर

53

अपने मौजूदा बटन कोड पर, बस प्रक्रिया से पहले इस लाइन डालने:

If MsgBox("This will erase everything! Are you sure?", vbYesNo) = vbNo Then Exit Sub 

यह यदि उपयोगकर्ता प्रेस छोड़ने की यह बाध्य करेगा नहीं।

+0

इनबिल्ट स्थिरांक – brettdj

+0

+1 के साथ काम करने के लिए +1 neater @brettdj के साथ सहमत हैं। पठनीयता और रखरखाव के लिए स्थिरांक का उपयोग करना आम तौर पर बेहतर होता है। –

+3

+1 मुझे यह जवाब पसंद है, लेकिन सख्ती से बोलते हुए, 'अगर मैगबॉक्स ("यह सबकुछ मिटा देगा, क्या आप निश्चित हैं?", VbOKCancel) = vbOK तब' करीब 'होगा और' रद्द करें 'बटन मांगने के बाद से । – JimmyPena

0

बस एक कस्टम उपयोगकर्ताफॉर्म बनाएं जो "हटाएं" बटन दबाए जाने पर दिखाया गया है, फिर जारी रखने वाले बटन को जारी करने वाले वास्तविक कोड को जारी रखें। रद्द करें बटन को उपयोगकर्ताफॉर्म छुपाएं।

9

निम्न कोड के साथ एक नया उप बनाएं और इसे अपने बटन पर असाइन करें। हटाने के लिए अपने कोड के नाम पर "DeleteProcess" बदलें। यह ठीक या रद्द के साथ एक बॉक्स पॉप अप करेगा और अगर आप ठीक से हिट करते हैं और नहीं तो आप अपना डिलीट सब कॉल करेंगे।

Sub AreYouSure() 

Dim Sure As Integer 

Sure = MsgBox("Are you sure?", vbOKCancel) 
If Sure = 1 Then Call DeleteProcess 

End Sub 

जेसी

संबंधित मुद्दे