शुक्रवार, 7 फ़रवरी 2020

Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

Excel VBA Tutorial 6 - Combo Box Excel VBA


Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

एक्सेल VBA यूजर फॉर्म में या एक्सेल शीट में ड्राप डाउन लिस्ट के लिए कॉम्बो बॉक्स का उपयोग होता है।  यूजर फॉर्म में कुछ फील्ड में हमें ऑप्शन दिए जाते है।  जैसे जेंडर के लिए मेल और फीमेल या फिर कंट्री के लिए सारे कंट्री का ड्राप डाउन लिस्ट। ऐसे ड्राप डाउन लिस्ट के लिए हम VBA के टूल बॉक्स में से कॉम्बोबॉक्स को ड्रैग करके यूजर फॉर्म में सेट कर सकते है। 
Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

How to Add Combobox in Excel VBA

कॉम्बो बॉक्स ऐड करने के लिए टूलबॉक्स में कॉम्बोबॉक्स के सिंबल पर क्लिक कीजिये।  और यूजर फॉर्म पर क्लिक करके साइज को ड्रैग कीजिये। 
Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

कॉम्बो बॉक्स की कुछ महत्वपूर्ण प्रॉपर्टीज - 

Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

1. Name - कोई भी नाम कॉम्बो बॉक्स Combo Box को दे सकते है।
2. कॉम्बो बॉक्स Combo Box Size - साईज काम या ज्यादा करने के लिए माउस से ड्रैग एंड ड्राप का ऑप्शन बेहतर होता है।
3. Control Tip Text - एप्लीकेशन जब रन किया जाता है तब कॉम्बो बॉक्स Combo Box पर माऊस का कर्सर मूव करते ही कोई टेक्स्ट टिप शो करने के लिए कण्ट्रोल टिप टेक्स्ट में टेक्स्ट टाइप करना पड़ता है। 
4. Enable - कई बार प्रोजेक्ट में कॉम्बो बॉक्स Combo Box  में टेक्स्ट शो करना होता है लेकिन उसे एडिट करने से प्रतिबन्ध करने के लिए इनेबल के सामने False करने से कोई भी यूजर कॉम्बो बॉक्स Combo Box  के टेक्स्ट को एडिट नहीं कर सकता। 
5. Visible - टेक्स्ट बॉक्स को छुपाने के लिए विज़िबल ऑप्शन के सामने false करते ही टेक्स्ट बॉक्स हाईड हो जायेगा। 
6. Text - कॉम्बो बॉक्स Combo Box में कोई भी टेक्स्ट बाय डिफ़ॉल्ट शो करने के लिए टेक्स्ट ऑप्शन के सामने वर्ड्स टाइप कर सकते है। 
7. Text Align, Back Color, Border Color इन ऑप्शन से कॉम्बो बॉक्स Combo Box की डिज़ाइन को चेंज कर सकते है। 

कॉम्बो बॉक्स में आइटम ऐड करने के तरीके 

पहला तरीका 

रौ सोर्स  Row Source -  

नेम मैनेजर की लिस्ट को आप कॉम्बोबॉक्स में ऐड कर सकते है। 

एक्सेल शीट की लिस्ट को सेलेक्ट करे। 
नेम मैनेजर के बॉक्स में कोई भी नाम दीजिये। और एंटर प्रेस करे।

Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

कॉम्बोबॉक्स की प्रॉपर्टीस के रो सोर्स के बॉक्स में = टाइप करके नेम मैनेजर के लिस्ट का नाम टाइप करे। 
उदा. निचे की इमेज में कंट्री लिस्ट को सेलेक्ट करके नेम मैनेजर में COUNTRY नाम दिया है।
और कॉम्बो बॉक्स की प्रॉपर्टीज के रौ सोर्स में =COUNTRY टाइप किया है। 
एक्सेल शीट की लिस्ट कॉम्बोबॉक्स में ऐड हो जायगी।


Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?


 यह एक तरीका है कॉम्बो बॉक्स फील करने का।  और भी तरीके है कॉम्बोबॉक्स को फील करने के लिए।  

दूसरा तरीका - Simple Code


कॉम्बो बॉक्स में आइटम ऐड करने के लिए कोड 

कॉम्बो बॉक्स में कोई भी आइटम ऐड करना हो तो सबसे फॉर्म पर कही भी डबल क्लिक करे। 

ऐसा कोड ओपन हो जायेगा। 
Private Sub UserForm_Click()
End Sub


Procedure  के ड्राप डाउन पर क्लिक करके Initialize सेलेक्ट करे। 

Private Sub UserForm_Initialize()
End Sub

Excel VBA Tutorial 6 - Combo Box Excel VBA . एक्सेल में कॉम्बोबॉक्स कैसे ऐड करे ?

Initialize सेलेक्ट करने से फॉर्म खुलते ही कोड रन हो जायेगा।  हमें फॉर्म ओपन होते ही कॉम्बोबॉक्स में हमारी लिस्ट ऐड करनी है। 

अब Private Sub UserForm_Initialize() के निचे कोड टाइप कीजिये। 

me. कॉम्बो बॉक्स का नाम .AddItem "आइटम का नाम 

आपका कोड़े इस तरह होगा 

Private Sub UserForm_Initialize()
Me.Combobox1.AddItem "Male"
Me.Combobox1.AddItem "Female" 
End Sub

जितने कोड़ है उतने आइटम ऐड करे।  

F5 प्रेस करके प्रोजेक्ट रन करके देखे। 

तीसरा तरीका  ( सबसे अच्छा तरीका  Loop )

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

लूप कोड 


Private Sub UserForm_Initialize()
Dim i As Long
Me.Combobox1.Clear
For i = 2 To Application.WorksheetFunction.CountA(Sheet2.Range("A:A"))
Me.Combobox1.AddItem Sheet2.Cells(i, 1).Value
Next i
End Sub

महत्वपूर्ण बदल 
For i = 2 To Application.WorksheetFunction.CountA( लिस्ट का शीट नंबर .Range("A:A"))
(sheet2 की जगह आपके लिस्ट के शीट का नंबर दे।  )

Me.Combobox1.AddItem Sheet2.Cells(i, कॉलम नंबर ).Value 

(इसी कोड को आप अपनी फाइल में कॉपी पेस्ट कर सकते है। )
Disqus Comments