VBA कॉम्बोबॉक्स - VBA में ComboBox कैसे बनाएं और उपयोग करें?

एक्सेल VBA कॉम्बोबॉक्स

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

कॉम्बोबॉक्स की तुलना एक्सेल में एक ड्रॉप-डाउन सूची में, वर्कशीट में की जा सकती है। हमने ड्रॉप-डाउन प्रदान करने के लिए डेटा सत्यापन का उपयोग किया है, लेकिन VBA में, एक उपयोगकर्ता प्रपत्र सुविधा है जहाँ इसका उपयोग किसी भी उपयोगकर्ता प्रपत्र में ड्रॉप-डाउन प्रदान करने के लिए किया जाता है, लेकिन यदि हम एक्सेल में कॉम्बो बॉक्स का उपयोग करना चाहते हैं, तो हम कर सकते हैं इसे डेवलपर अनुभाग से भी एक्सेस करें, जहां से हम अलग-अलग या कई सेल के लिए कॉम्बो बॉक्स बना सकते हैं।

कॉम्बो बॉक्स ड्रॉप-डाउन सूची के समान है जो हमारे पास एक्सेल वर्कशीट में है; कॉम्बो बॉक्स के साथ, हम पूर्व-निर्धारित मानों को संग्रहीत कर सकते हैं ताकि उपयोगकर्ता कॉम्बो बॉक्स से उपलब्ध सूची से चयन कर सकें। कॉम्बो बॉक्स का उपयोग आमतौर पर उपयोगकर्ताओं से इनपुट प्राप्त करने के भाग के रूप में उपयोगकर्ता प्रपत्रों के साथ किया जाता है।

उपयोगकर्ता प्रपत्र उपयोगी होते हैं, लेकिन उपयोगकर्ता प्रपत्र पर अन्य उपकरण होने से उपयोगकर्ता प्रपत्र इतना विशेष हो जाता है। उन उपकरणों में से एक जो हम अक्सर उपयोगकर्ता फॉर्म के लिए एक उपकरण के रूप में उपयोग करते हैं, वह है "कॉम्बोबॉक्स।"

VBA ComboBox बनाने के शीर्ष 2 तरीके

# 1 - डायरेक्ट कोडिंग का उपयोग करना

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

"सक्रिय एक्स नियंत्रण" से, "कॉम्बो बॉक्स" चुनें।

अब आप किसी भी वर्कशीट पर इस ऑब्जेक्ट को खींच सकते हैं।

कॉम्बो बॉक्स पर राइट-क्लिक करें और "गुण" विकल्प चुनें।

जब आप गुण चुनते हैं, तो यह कॉम्बो बॉक्स के गुणों की एक विशाल सूची खोलेगा।

इस कॉम्बो बॉक्स के लिए, हम विभाग के नामों की एक सूची देने जा रहे हैं, इसलिए कॉम्बो बॉक्स की नाम संपत्ति को "DeptComboBox" में बदलें।

अब इस कॉम्बो बॉक्स को "DeptComboBox" नाम से संदर्भित किया जाएगा हमें पूर्व-निर्धारित विभाग नाम देने की आवश्यकता है, इसलिए यहां मेरे पास विभाग के नामों की एक सूची है।

अब हमें इन मूल्यों को कॉम्बो बॉक्स सूची में जोड़ने की आवश्यकता है। हम इसे दो तरीकों से कर सकते हैं, कोडिंग के माध्यम से या नाम प्रबंधक के माध्यम से।

Combobox पर डबल क्लिक करें, और यह आपको VBA मैक्रो प्रक्रिया में ले जाएगा।

लेकिन वर्कबुक खुलने पर हमें इन विभाग के नामों को देखना होगा, इसलिए “ThisWorkbook” पर डबल क्लिक करें।

ड्रॉप-डाउन सूची से, "कार्यपुस्तिका" चुनें।

विकल्पों में से, "खोलें" चुनें।

अब यह नीचे वाले की तरह एक रिक्त पैदा करेगा।

इस मैक्रो के अंदर, नीचे कोड दर्ज करें।

कोड:

निजी उप कार्यपुस्तिका_ओपन () वर्कशीट ("Sheet1") के साथ। DeptComboBox .AddItem "वित्त" ।AddItem "विपणन"।

ठीक है, अब कार्यपुस्तिका को सहेजें और बंद करें। जब आप कार्यपुस्तिका को फिर से खोलते हैं, तो हम इसमें विभाग के नाम देख सकते हैं।

# 2 - UserForm का उपयोग करना

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

Visual Basic Editor पर जाएं और INSERT विकल्प से उपयोगकर्ता प्रपत्र डालें।

अब नया यूजर फॉर्म बना है।

उपयोगकर्ता प्रपत्र के आगे, हम इस टूलबॉक्स से "टूलबॉक्स" देख सकते हैं, हम "कॉम्बो बॉक्स" डाल सकते हैं।

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

निजी सब कमांडबटन 1_क्लिक () डिम LR अस लॉन्ग LR = सेल्स (Rows.Count, 1) .End (xlUp) .Row + 1 सेल्स (LR, 1) .Value = Textle1.Value सेल्स (LR, 2) .Value = ComboBox1। .लव्यू एंड सब

अब “CANCEL” बटन पर डबल क्लिक करें और नीचे दिया गया कोड जोड़ें।

अब वर्कशीट में, नीचे जैसा टेम्पलेट बनाएं।

अब उपयोगकर्ता फ़ॉर्म को चलाएं, और यह इस तरह खुल जाएगा।

कर्मचारी का नाम दर्ज करें और कॉम्बो सूची से विभाग का नाम चुनें।

SUBMIT बटन पर क्लिक करें और जादू देखें।

हमने अपने द्वारा बनाए गए तालिका प्रारूप में दर्ज मान प्राप्त किए।

याद रखने वाली चीज़ें

  • कॉम्बो बॉक्स का अपना गुण है।
  • सूची में मान जोड़ने के दो तरीके हैं। एक एक कोडिंग तरीका है, और दूसरा एक श्रेणी नाम संदर्भ है।
  • कॉम्बो बॉक्स आमतौर पर उपयोगकर्ता प्रपत्र का हिस्सा है।

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