/ / एक्सेल वीबीए में प्रगति संकेतक

एक्सेल वीबीए में प्रगति संकेतक

नीचे हम एक कार्यक्रम देखेंगे एक्सेल VBA जो एक बनाता है प्रगति संकेतक। हमने प्रगति सूचक को यथासंभव सरल रखा है, फिर भी यह पेशेवर दिखता है। क्या आप तैयार हैं?

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

एक्सेल वीबीए में प्रगति संकेतक

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

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

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

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

इस उपयोगकर्ताफॉर्म में केवल तीन नियंत्रण होते हैं। एक फ्रेम नियंत्रण और दो लेबल नियंत्रण।

3. फ्रेम नियंत्रण जोड़ें। आप टूलबॉक्स से फ़्रेम पर क्लिक करके ऐसा कर सकते हैं। इसके बाद, आप उपयोगकर्ताफॉर्म पर फ्रेम नियंत्रण खींच सकते हैं। आपको इस फ्रेम नियंत्रण के कुछ गुणों को बदलने की जरूरत है। दायां माउस फ्रेम नियंत्रण पर क्लिक करें, और फिर गुणों पर क्लिक करें। कैप्शन फ़ील्ड खाली करें, ऊंचाई को 24 तक सेट करें और चौड़ाई 204 तक सेट करें।

4। पहला लेबल नियंत्रण जोड़ें और इसे फ्रेम नियंत्रण में रखें। दायां माउस लेबल नियंत्रण पर क्लिक करें, और फिर गुणों पर क्लिक करें। नाम को बार में बदलें, बैककोलर हाइलाइट करने के लिए, कैप्शन फ़ील्ड को खाली करें, ऊंचाई को 20 तक सेट करें और चौड़ाई 10 तक सेट करें।

5। दूसरा लेबल नियंत्रण जोड़ें और इसे फ्रेम नियंत्रण के ऊपर रखें। दायां माउस लेबल नियंत्रण पर क्लिक करें, और फिर गुणों पर क्लिक करें। नाम को टेक्स्ट में बदलें और कैप्शन को "0% पूर्ण" में बदलें।

6. यूजरफॉर्म के प्रगति संकेतक के कैप्शन को बदलें।

एक बार यह पूरा हो जाने के बाद, परिणाम पहले दिखाए गए उपयोगकर्ताफॉर्म की तस्वीर के अनुरूप होना चाहिए।

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

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

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

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

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

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

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

Private Sub UserForm_Activate()

code

End Sub

स्पष्टीकरण: यह सब एक अन्य सब नामित कोड कॉल करता है जिसे हम एक मिनट में बनाने जा रहे हैं। उलझन में? सब के बारे में अधिक जानने के लिए आप हमारे फंक्शन और सब अध्याय के माध्यम से जा सकते हैं। यदि आप जल्दी में हैं, तो बस निम्न चरणों को निष्पादित करें और आप ठीक होंगे।

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

Sub code()

Dim i As Integer, j As Integer, pctCompl As Single

Sheet1.Cells.Clear

For i = 1 To 100
    For j = 1 To 1000
        Cells(i, 1).Value = j
    Next j
    pctCompl = i
    progress pctCompl
Next i

End Sub

स्पष्टीकरण: सबसे पहले, हम कुछ चर शुरू करते हैं। अगला, हम शीट 1 साफ़ करते हैं। हम वर्कशीट की पहली 100 पंक्तियों में 1 से 1000 के मान दिखाने के लिए डबल लूप का उपयोग करते हैं। यह एक्सेल वीबीए को थोड़ी देर व्यस्त रखेगा और हमें मैक्रो की प्रगति को देखने का मौका देता है। परिवर्तनीय pctCompl (प्रतिशत पूर्ण के लिए संक्षेप) मैक्रो की प्रगति को मापता है। अंत में, हम उपयोगकर्ता नाम को अपडेट करने के लिए एक और उप नामित प्रगति को कॉल करते हैं और वेरिएबल pctCompl के मान को पास करते हैं। इस तरह हम मैक्रो की प्रगति देख सकते हैं!

13. एक और उप नाम प्रगति जोड़ें। कोड निम्नानुसार दिखता है:

Sub progress(pctCompl As Single)

UserForm1.Text.Caption = pctCompl & "% Completed"
UserForm1.Bar.Width = pctCompl * 2

DoEvents

End Sub

स्पष्टीकरण: पहली कोड पंक्ति पहले लेबल नियंत्रण के कैप्शन को बदलती है। दूसरी कोड लाइन दूसरे लेबल नियंत्रण की चौड़ाई बदलती है। उपयोगकर्ताफॉर्म को अद्यतन करने के लिए DoEvents जोड़ें।

14. विजुअल बेसिक एडिटर से बाहर निकलें और शीट पर कमांड बटन पर क्लिक करें:

परिणाम:

प्रगति संकेतक परिणाम

ध्यान दें: इस मैक्रो के लिए, हमने प्रगति को मापने के लिए चर का उपयोग किया। उदाहरण के लिए, पंक्ति 11 पर, 10% पूरा हो गया है। यह आपके मैक्रो के लिए अलग हो सकता है। उपयोगकर्ताफॉर्म को अद्यतन करने के लिए परिवर्तनीय pctCompl के उप-प्रगति के मान को पार करने की तकनीक वही है।

यह भी पढ़ें: