VBA MsgBox हाँ / नहीं - हाँ / नहीं प्रतिक्रिया कैसे बनाएँ?

एक्सेल VBA MsgBox (हाँ / नहीं)

में VBA , संदेश बॉक्स का उपयोग कर हम एक बना सकते हैं हाँ नहीं MsgBox जो या नहीं, वाक्य रचना एक हाँ कोई संदेश बॉक्स के रूप में है चर = MsgBox ( "पाठ" इस प्रकार बनाने के लिए हाँ पर क्लिक के आधार पर रिकॉर्ड उपयोगकर्ता इनपुट के लिए इस्तेमाल किया जाता है, vbQuestion + vbYesNo + vbDefaultButton2, "संदेश बॉक्स शीर्षक") जहां चर को पूर्णांक के रूप में घोषित किया जाना चाहिए।

अक्सर VBA कोडिंग में, हमें कुछ कार्यों को करने के लिए उपयोगकर्ताओं से इनपुट मान एकत्र करने की आवश्यकता होती है और उपयोगकर्ताओं से हां या ना में प्रतिक्रिया प्राप्त करने के लिए ऐसे कार्यों में से एक है। VBA MsgBox Yes No मेथड का उपयोग करके, हम कोड में आगे बढ़ने के लिए कोड लिख सकते हैं।

कुछ स्थितियों में, हमें अपनी प्रतिक्रिया देने के लिए उपयोगकर्ता के सामने एक हां या कोई विकल्प प्रस्तुत करने की आवश्यकता हो सकती है, और उस प्रतिक्रिया के आधार पर। हम वास्तव में VBA कोड चला सकते हैं।

उदाहरण के लिए, VBA में MsgBox की नीचे की छवि देखें।

यदि उपयोगकर्ता हाँ कहता है, "हम किसी विशिष्ट कार्य को करने के लिए कोड लिख सकते हैं," और यदि उपयोगकर्ता कहता है कि "नहीं," हम कार्यों के दूसरे सेट को करने के लिए कोड लिख सकते हैं।

MsgBox Yes / No रिस्पॉन्स के साथ कैसे काम करें?

उदाहरण # 1 - प्रतिसाद के आधार पर कॉपी और पेस्ट करें

उदाहरण के लिए, नीचे दिए गए कोड को देखें।

कोड:

उप संदेश बॉक्स_Yes_NO_Example1 () डिम आंसर की स्ट्रींग आंसर आंसर की के रूप में आंसर की आंसर = MsgBox ("क्या आप कॉपी करना चाहते हैं?", VbQuestion + vbYesNo, "यूजर रिप्सन") यदि आंसर = vbYes तो रेंज ("A1: A2") कॉपी कर रहे हैं? ("सी 1") एल्स रेंज ("ए 1: ए 2")। कॉपी रेंज ("ई 1") एंड इफ एंड सब

स्पष्टीकरण:

ऊपर ने चर को स्ट्रिंग यानी घोषित किया है

स्ट्रिंग के रूप में मंद उत्तर

अगली पंक्ति में, हमने एक संदेश बॉक्स के माध्यम से मान पूछा है, "क्या आप कॉपी करना चाहते हैं?"।

उत्तर = MsgBox ("क्या आप कॉपी करना चाहते हैं?", VbQuestion + vbYesNo, "उपयोगकर्ता रिप्सन")

अब IF स्टेटमेंट संदेश बॉक्स के माध्यम से दी गई प्रतिक्रिया का मूल्यांकन करता है। यदि संदेश बॉक्स परिणाम vbYes है, तो यह A1 से A2 तक की सीमा को कॉपी करेगा और सेल C1 में पेस्ट करेगा।

 यदि उत्तर = vbYes तो रेंज ("A1: A2")। कॉपी रेंज ("C1")

यदि संदेश बॉक्स द्वारा दी गई प्रतिक्रिया नहीं है, तो यह A1 से A2 तक की सीमा को कॉपी करेगा और सेल E1 में चिपकाएगा।

Else Range ("A1: A2")। Copy Range ("E1") End If

ठीक है, मैंने सेल A1 और A2 में अब कुछ मान दर्ज किए हैं।

अब मैं F5 कुंजी का उपयोग करके कोड चलाऊंगा, या रन विकल्प के माध्यम से, एक संदेश बॉक्स मेरे सामने आएगा और मेरी प्रतिक्रिया के लिए पूछेगा।

यदि मैं हां पर क्लिक करता हूं, तो यह A1 से A2 तक की सीमा को कॉपी करेगा और C1 सेल में पेस्ट करेगा। अब मैं Yes पर क्लिक करूंगा और रिजल्ट देखूंगा।

तो यह कार्य सौंपा है अगर प्रतिक्रिया हां है।

अब फिर से, मैं कोड चलाऊंगा।

इस बार मैं नहीं का चयन करूँगा और देखूँगा कि क्या होता है।

हां, इसने कोड में निर्दिष्ट कार्य निष्पादित किया

एल्स रेंज ("A1: A2")। कॉपी रेंज ("E1")

उदाहरण # 2 - रिस्पॉन्स के आधार पर छिपाएँ और अनहाइड शीट्स

यदि प्रतिक्रिया हां है तो नीचे दी गई कोड सक्रिय शीट को छोड़कर सभी शीटों को छिपा देगा।

कोड:

सब HideAll () डिम का उत्तर स्ट्रिंग के रूप में डिम Ws के रूप में वर्कशीट उत्तर = MsgBox ("क्या आप सभी को छिपाने की इच्छा रखते हैं?", VbQuestion + vbYesNo, "Hide") यदि उत्तर = vbYs तो ActiveWorkbook.Worksheets में प्रत्येक Ws के लिए यदि Ws.Name है तो। ActiveSheet.Name फिर Ws.V अदृश्य = xlSheetVeryHidden अगला Ws ElseIf उत्तर = vbNo तब MsgBox "आपने शीट को छिपाने के लिए नहीं चुना है", vbInformation, "नहीं छिपाएँ" अंत यदि उप उप

उपरोक्त कोड सभी कार्यपत्रकों को छिपा देगा शीट के सिवाय हम अभी हैं यदि संदेश बॉक्स से प्रतिक्रिया हां है।

यदि संदेश बॉक्स से प्रतिक्रिया नहीं है, तो यह संदेश बॉक्स को यह कहते हुए प्रदर्शित करेगा, "आपने शीट को छिपाने के लिए नहीं चुना है।"

यदि जवाब हां है तो इसी तरह, नीचे का कोड शीट को अनहाइड कर देगा।

कोड:

उप UnHideAll () डिम उत्तर स्ट्रिंग के रूप में डिम Ws के रूप में वर्कशीट उत्तर = MsgBox ("क्या आप सभी को अनसुना करना चाहते हैं?", VbQuestion + vbYesNo, "Hide") यदि उत्तर दें - vbYes तो प्रत्येक Ws के लिए ActiveWorkbook.Worksheets Ws.Vouble = xlSheetVeryHidden अगला Ws ElseIf उत्तर = vbNo तब MsgBox "आपने शीट्स को अनहाइड न करने के लिए चुना है", vbInformation, "No Hide" End if End Sub

यह छिपी हुई शीट कोड के समान ही काम करता है; यदि हाँ, तो यह अनहाइड होगा। यदि नहीं, तो यह अनहाइड नहीं होगा।

दिलचस्प लेख...