/ / एक्सेल वीबीए मल्टीकॉलम कॉम्बो बॉक्स

एक्सेल वीबीए मल्टीकॉलम कॉम्बो बॉक्स

नीचे हम एक कार्यक्रम देखेंगे एक्सेल VBA जो उपयोगकर्ताफॉर्म बनाता है जिसमें एक होता है बहुआयामी कॉम्बो बॉक्स.

उपयोगकर्ताफॉर्म हम इस प्रकार दिखने जा रहे हैं:

एक्सेल वीबीए में बहुआयामी कॉम्बो बॉक्स

इस उपयोगकर्ताफॉर्म को बनाने के लिए, निम्न चरणों को निष्पादित करें।

1. विजुअल बेसिक एडिटर खोलें। यदि प्रोजेक्ट एक्सप्लोरर दिखाई नहीं दे रहा है, तो देखें, प्रोजेक्ट एक्सप्लोरर पर क्लिक करें।

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

एक्सेल वीबीए में उपयोगकर्ताफॉर्म स्क्रीन सेटअप

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

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

5. उपयोगकर्ताफॉर्म दिखाने के लिए, अपनी वर्कशीट पर एक कमांड बटन रखें और निम्न कोड लाइन जोड़ें:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

अब हम सब UserForm_Initialize बनाने जा रहे हैं। जब आप उपयोगकर्ताफॉर्म के लिए शो विधि का उपयोग करते हैं, तो यह उप स्वचालित रूप से निष्पादित हो जाएगा।

6. विजुअल बेसिक एडिटर खोलें।

7. प्रोजेक्ट एक्सप्लोरर में, UserForm1 पर राइट क्लिक करें और फिर कोड देखें पर क्लिक करें।

8. बाएं ड्रॉप-डाउन सूची से उपयोगकर्ताफॉर्म चुनें। सही ड्रॉप-डाउन सूची से प्रारंभ करें चुनें।

9. निम्नलिखित कोड लाइन जोड़ें:

Private Sub UserForm_Initialize()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

स्पष्टीकरण: पहली कोड लाइन कॉम्बो बॉक्स के कॉलम की संख्या 2 पर सेट करती है। रनटाइम पर कॉलम की संख्या सेट करने के बजाय, आप डिज़ाइन समय पर इस सेटिंग को कॉन्फ़िगर भी कर सकते हैं। इसे प्राप्त करने के लिए, दायां माउस कॉम्बो बॉक्स नियंत्रण पर क्लिक करें, गुण क्लिक करें और कॉलमकाउंट प्रॉपर्टी को 2 पर सेट करें। अगला, हम दो-आयामी सरणी घोषित करते हैं और प्रारंभ करते हैं। अंतिम कोड लाइन सरणी को कॉम्बो बॉक्स में असाइन करती है।

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

10. प्रोजेक्ट एक्सप्लोरर में, UserForm1 पर डबल क्लिक करें।

11. ओके बटन पर डबल क्लिक करें।

12. निम्नलिखित कोड लाइन जोड़ें:

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

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

13. रद्द करें बटन पर डबल क्लिक करें।

14. निम्नलिखित कोड लाइन जोड़ें:

Private Sub CommandButton2_Click()

Unload Me

End Sub

परिणाम जब आप स्पीड का चयन करते हैं और ठीक क्लिक करते हैं।

बहुआयामी कॉम्बो बॉक्स परिणाम

बहुआयामी कॉम्बो बॉक्स परिणाम

यह भी पढ़ें: