VBA उपयोगकर्ता बंद करें - उदाहरणों के साथ उपयोगकर्ता को बंद करने के लिए शीर्ष 2 तरीके

जब हम एक उपयोगकर्ता को बनाते हैं तो यह उपयोगकर्ताओं से इनपुट के रूप में डेटा लेता है, लेकिन डेटा फॉर्म को प्रदान किया जाता है, यह स्वयं को बंद नहीं करता है, इसलिए यह उपयोगकर्ता को फिर से इनपुट डेटा के लिए भ्रमित कर सकता है, इनपुट होने पर उपयोगकर्ता को बंद करने के लिए हम दो अलग-अलग कमांड का उपयोग करते हैं। दिया जा रहा है और वे मुझे उपयोगकर्ता-विधि बंद करने के लिए अनलोड कर रहे हैं या हम userform.hide विधि का उपयोग कर सकते हैं।

Excel VBA उपयोगकर्ता को बंद करें

VBA प्रोजेक्ट के हिस्से के रूप में उपयोगकर्ता से इनपुट प्राप्त करते समय उपयोगकर्ता सुधार महत्वपूर्ण हैं। हम उपयोगकर्ता के सामने प्रस्तुत करने से पहले आमतौर पर उपयोगकर्ता प्रपत्र को डिज़ाइन करते हैं। एक बार VBA उपयोगकर्ता फॉर्म की डिजाइनिंग पूरी हो जाने के बाद, हमें उपयोगकर्ता के सामने उसी को दिखाना होगा और VBA कोडिंग की आवश्यकता होगी। इसी तरह, उपयोगकर्ता फॉर्म को बंद करने के लिए, उसे VBA कोडिंग ज्ञान की आवश्यकता होती है।

इस लेख में, हम आपको दिखाएंगे कि वीबीए कोडिंग में यूजरफॉर्म कैसे बंद करें।

एक्सेल VBA में UserForm को कैसे बंद करें?

एक बार उपयोगकर्ता फॉर्म का उद्देश्य पूरा हो जाने के बाद, उपयोगकर्ता के सामने यूजरफॉर्म को बनाए रखने का एक बिंदु होता है, इसलिए हमें यूजरफॉर्म को बंद करने की आवश्यकता होती है। हम "अनलोड मी" स्टेटमेंट और "यूजरफोर्महाइड" स्टेटमेंट्स का उपयोग करके यूजरफॉर्म को बंद कर सकते हैं। भले ही दोनों एक-दूसरे से थोड़े अलग हैं, यह अंततः हमारे उद्देश्य की पूर्ति करेगा।

# 1 - VBA में "अनलोड मी" स्टेटमेंट का उपयोग कर उपयोगकर्ता को बंद करें

उदाहरण के लिए, उपयोगकर्ता की नीचे की छवि देखें।

मैंने उपयोगकर्ता फॉर्म को "MyUserForm" नाम दिया है।

अगर मैं यूजरफॉर्म चलाता हूं, तो हम नीचे की तरह यूजरफॉर्म देखेंगे।

मुझे आवश्यक विवरण भरने की आवश्यकता है। एक बार जानकारी भर जाने के बाद, यदि मैं सबमिट बटन पर क्लिक करता हूं, तो यह उसी डेटा को वर्कशीट पर कब्जा कर लेगा, जो बाईं ओर दिखाई देता है।

सबमिट बटन पर क्लिक करने पर, यह उस डेटा को कैप्चर कर लेता है, जिसे मैंने यूजरफॉर्म में दर्ज किया है।

यदि आप ध्यान दें, तो हमारे पास "रद्द करें" नामक एक और बटन है। यह क्या करता है?

उपयोगकर्ता द्वारा प्रदर्शन करने से पहले हमें इस बटन को कॉन्फ़िगर करना होगा। अब मैं इस बटन को कॉन्फ़िगर करने के लिए बेसिक विजुअल एडिटर पर वापस जाऊंगा।

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

इस प्रक्रिया में, हमें वीबीए कोड लिखने की आवश्यकता है कि अगर हम रद्द करें बटन पर क्लिक करते हैं तो क्या होना चाहिए। जब हम इस रद्द बटन पर क्लिक करते हैं, तो उसे उस उपयोगकर्ता प्रपत्र को बंद कर देना चाहिए जिस पर हम इस समय काम कर रहे हैं।

इसलिए, कोड को "अनलोड मी" के रूप में लिखें।

कोड:

निजी उप रद्द करेंबटन_क्लिक करें () मुझे अनलोड उप करें

"अनलोड मी" वह शब्द है जिसका उपयोग हम उस उपयोगकर्ता को बंद करने के लिए करते हैं जिसका हम काम कर रहे हैं। यहां उपयोगकर्ता प्रपत्र "मी" शब्द को यूजरफार्म के रूप में पहचानता है।

"अनलोड मी" का उपयोग केवल उस उपयोगकर्ता प्रपत्र प्रक्रिया पर किया जा सकता है। हम इस कथन को अन्य मॉड्यूल में नहीं कह सकते। यदि कहा जाता है, तो यह त्रुटि संदेश को " मेरे कीवर्ड के अवैध उपयोग " के रूप में दिखाएगा

ठीक है, चलो F5 कुंजी या मैन्युअल रूप से अब कोड का उपयोग करते हैं, हम एक खाली उपयोगकर्ता प्रपत्र देखेंगे।

डेटा भरें और सबमिट पर क्लिक करें।

सबमिट बटन पर क्लिक करने के बाद, यह उल्लिखित सेल में मानों को संग्रहीत करेगा।

यदि डेटा एंट्री की जाती है, तो हमें यूजरफॉर्म को बंद करना होगा। है ना ??

तो, उपयोगकर्ता को बंद करने के लिए रद्द करें बटन पर क्लिक करें, यह उपयोगकर्ता फॉर्म को बंद कर देगा।

# 2 - एक्सेल VBA में छिपाने के तरीके का उपयोग कर UserForm को बंद करें

हम "छुपाएँ" विधि के साथ-साथ VBA में भी उपयोग करके Userform को बंद कर सकते हैं। अब एक बार फिर, मैं निजी उप-प्रक्रिया को देखने के लिए रद्द बटन पर क्लिक करूँगा।

चूंकि हमने पहले ही उपयोगकर्ता को बंद करने के लिए कोड लिखा है, इसलिए हम VBA में मौजूदा कोड देख सकते हैं। अब मैं इसे डिलीट कर दूंगा।

छिपाने के तरीके का उपयोग करने के लिए, हमें उपयोगकर्ता नाम को उसके नाम से कॉल करना होगा। इस स्थिति में, हमारे उपयोगकर्ता का नाम "MyUserForm" है।

उपयोगकर्ता नाम का उसके नाम से उल्लेख करने के बाद, यदि हम एक डॉट (।) डालते हैं, तो हम इस उपयोगकर्ता के सभी गुणों और विधियों को देख सकते हैं। अब मैं "Hide" विधि का चयन करूँगा।

ठीक है, चलिए userform को एक बार और चलाते हैं। हम एक खाली उपयोगकर्ता फ़ॉर्म देखेंगे, पहले विवरण भरें।

अब सबमिट बटन पर एक क्लिक के बिना, मैं रद्द बटन पर क्लिक करूंगा, यह उपयोगकर्ता फॉर्म को छिपा देगा।

एक्सेल VBA में अनलोड और हाइड के बीच अंतर

आपके पास एक सवाल होना चाहिए कि अनलोड और हाईड में क्या अंतर है, जहां दोनों एक समान उद्देश्य से काम करते हैं। इन दोनों में अंतर है। अब सबसे पहले, मैं अनलोड मी स्टेटमेंट का उपयोग करूंगा। निचे इमेज में देखें।

मैंने उपयोगकर्ता प्रपत्र में डेटा दर्ज किया है, लेकिन अभी तक इसे जमा नहीं किया है। अगर मैं कैंसिल पर क्लिक करता हूं, तो यह यूजरफॉर्म को अनलोड कर देगा।

अब फिर से, मैं एक्सेल शॉर्टकट कुंजी F5 या मैन्युअल के माध्यम से कोड चलाऊंगा, यह एक खाली उपयोगकर्ता प्रपत्र प्रदर्शित करेगा।

भले ही मैंने गलती से डेटा सही ढंग से दर्ज किया है, मैंने रद्द बटन पर क्लिक किया है, जब नया उपयोगकर्ता फॉर्म फिर से दिखाई देता है, तो मैंने डेटा को खरोंच से भर दिया है।

अब मैं "Hide" विधि का उपयोग करूंगा।

नहीं, मैं रद्द बटन पर क्लिक करूंगा। यह दृश्यमान यूजरफॉर्म को छिपा देगा। लेकिन जब मैं मैक्रो को फिर से चलाता हूं, तो यह उस डेटा के साथ वापस आ जाएगा जो मैंने पहले ही उपयोगकर्ता के लिए दर्ज किया है।

इस तरह हम एक्सेल VBA में यूजर फॉर्म को बंद करने के लिए "अनलोड" स्टेटमेंट और "हाइड" विधि का उपयोग कर सकते हैं।

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