एक्सेल वीबीए में दोहराए जाने वाले कार्यों को स्वचालित करना चाहते हैं? किसी शर्त के पूरा होने तक कार्यों के एक सेट को बार-बार निष्पादित करने के लिए डू-वाइल लूप का उपयोग करना सीखें।
लूप्स किसी भी कोडिंग भाषा का एक अभिन्न हिस्सा हैं, और आप भाषा के आधार पर, विभिन्न प्रकार के लूपों का उपयोग करके बहुत सारे दोहराए जाने वाले कार्यों को स्वचालित कर सकते हैं। एक्सेल का VBA दूसरों से अलग नहीं है, क्योंकि यह लूपिंग विकल्पों की एक श्रृंखला प्रदान करता है, प्रत्येक एक अलग उद्देश्य की सेवा करता है।
आप इन लूपों का उपयोग प्रारंभ और समाप्ति बिंदु, स्थिति (ओं), और पैरामीटर को परिभाषित करके कर सकते हैं। VBA के भीतर ऐसा ही एक प्रमुख लूप डू-वाइल लूप है, जिसका उपयोग आप डेटा ऑटोमेशन के साथ काम करने के लिए कर सकते हैं। यहां बताया गया है कि एक्सेल वीबीए के डू-जबकि लूप का उपयोग कैसे किया जाता है, यह हमेशा आवश्यक लूपिंग पद्धति है, जो आपके मैन्युअल कार्यों को काफी हद तक सरल कर सकती है।
एक्सेल वीबीए में डू-जबकि लूप क्या है?
डू-जबकि लूप बहुत सीधा है; यदि आप किसी विशिष्ट स्थिति के आधार पर वांछित आउटपुट उत्पन्न करना चाहते हैं तो आप अपनी बोली लगाने के लिए इस लूप का उपयोग कर सकते हैं। लूप तब तक निष्पादित होता है जब तक कि परिभाषित स्थिति (एस) सत्य नहीं है। एक बार जब कार्यक्रम गलत मान का सामना करता है, तो लूप समाप्त हो जाता है और निर्दिष्ट कोशिकाओं में परिणाम प्रिंट करता है।
आप डू-वाइल लूप का उपयोग विभिन्न चरणों में और विभिन्न मानदंडों के साथ कर सकते हैं; तुम भी इसके उपयोग को बढ़ाने के लिए मुख्य बाहरी पाश के अंदर कई छोरों का उपयोग कर सकते हैं। एक शुरुआत के रूप में, आपको विस्तृत का उल्लेख करना चाहिए वीबीए प्रोग्रामिंग ट्यूटोरियल इस डोमेन के भीतर अपने ज्ञान और कौशल को आगे बढ़ाने के लिए।
एक्सेल वीबीए में डू-जबकि लूप का सिंटैक्स
डू-व्हाइल लूप में एक पूर्व-निर्धारित संरचना होती है, जिसका आपको पालन करने की आवश्यकता होती है, यह सुनिश्चित करने के लिए कि यह त्रुटियों के बिना सुचारू रूप से कार्य करता है। यहाँ संदर्भ के लिए वाक्य रचना है:
करनाजबकि [शर्त_संदर्भ]
[मानदंड कथन]
कुंडली
लूप डू-जबकि कीवर्ड के साथ शुरू होता है, इसके बाद शुरुआती और अंत संदर्भ होते हैं। सिंटैक्स का पहला भाग पूरे लूप को नियंत्रित करता है। अगला, आपको उन बयानों को परिभाषित करने की आवश्यकता है जो हर बार लूप चलने पर निष्पादित होंगे।
अंत में, एक बार जब लूप की स्थिति गलत हो जाती है, तो लूप कीवर्ड निष्पादित हो जाता है और लूप से बाहर निकल जाता है। यह एक समग्र संरचना है; आप विभिन्न क्रियाएं करने के लिए इसे परिशोधित कर सकते हैं। डू-वाइल लूप की कार्यप्रणाली से परिचित होने के लिए यहां कुछ उदाहरण दिए गए हैं।
अपना पहला डू-व्हाइल लूप कोड लिखना
मान लीजिए आप कॉलम ए में दो के गुणकों को प्रदर्शित करना चाहते हैं। शर्त यह है कि जब तक काउंटर 20 तक न पहुंच जाए, तब तक नंबर प्रिंट कर लें।
ऐसा करने के लिए, अपने एक्सेल पर डेवलपर टैब पर नेविगेट करें और कोडिंग संपादक खोलें; वैकल्पिक रूप से, दबाएँ ऑल्ट + F11 कोडिंग संपादक को सीधे खोलने के लिए। कोड संपादक विंडो के भीतर, क्लिक करें डालना टैब और एक नया मॉड्यूल जोड़ें।
आपको इस मॉड्यूल विंडो के भीतर सभी कोड लिखने होंगे। मॉड्यूल के अंदर निम्न कोड जोड़ें:
सब डॉवाइललूप ()
मंद ए जैसा पूर्णांक
ए = 1
करनाजबकि एक <= 10
सेल (ए, 1) = 2 * ए
ए = ए + 1
कुंडली
अंत विषय
कोड समझाया
बुनियादी बातों में महारत हासिल करने में आपकी मदद करने के लिए यहां कोड का विश्लेषण दिया गया है:
- उप-दिनचर्या का प्रयोग करें: एक्सेल वीबीए में कोड लिखना शुरू करने के लिए, उप-नियमित फ़ंक्शन (उप) के साथ बाहरी खोल बनाएं। इसे एक सार्थक नाम दें, जो कोड के उद्देश्य से प्रतिध्वनित हो। इस उदाहरण में, आप डूविल लूप नाम का उपयोग कर सकते हैं, इसके बाद ()।
- डेटाटाइप परिभाषित करें: चर डेटा प्रकार घोषित करने के लिए आयाम (मंद) फ़ंक्शन का उपयोग किया जाना चाहिए। डेटा प्रकार घोषित करके, आप अपना कोड कुशल बना सकते हैं और निष्पादन गति में सुधार कर सकते हैं। इस मामले में, चर ए पूर्णांक मानों को संग्रहीत करता है, इसलिए इसे परिभाषित करने के लिए पूर्णांक डेटा प्रकार का उपयोग करें। आप अपने डू-व्हाइल लूप के शुरुआती डेटा बिंदु को घोषित करने के लिए, इस वेरिएबल के भीतर शुरुआती पंक्ति संख्या को स्टोर कर सकते हैं।
- शर्त परिभाषित करें: अब, डू-वाइल लूप को नियंत्रित करने की स्थिति को पार करने का समय आ गया है। आप उपयोग कर सकते हैं जबकि ऐसा कीवर्ड, शर्त के बाद। चूँकि आप लूप को दस बार चलाना चाहते हैं, आप शर्त का उपयोग करते हैं एक <= 10।
- निष्पादन योग्य कथन पास करें: के बीच अंतर जानना आपके लिए महत्वपूर्ण है सेल फ़ंक्शन और VBA में रेंज फ़ंक्शन. कक्ष फ़ंक्शन VBA के भीतर पंक्ति और स्तंभ संदर्भों का उपयोग करता है। उदाहरण के लिए, पहले पुनरावृत्ति के दौरान, जब a =1 का मान होता है, तो सेल सूत्र (1,1) होता है। वीबीए की स्मृति में, यह सेल ए 1 में अनुवाद करता है। हर बार लूप निष्पादित होता है, परिभाषित चर वृद्धि का मान, और संदर्भ अगले उपलब्ध सेल में चला जाता है।
- अपना वेरिएबल बढ़ाएँ: तुम पास हो सकते हो ए = ए + 1 सेल मान बढ़ाने के लिए कथन। यह लूप को स्थिति के अगले भाग में ले जाता है; लूप तब तक चलता रहता है जब तक कि कंडीशन में False वैल्यू नहीं आ जाती।
- लूप स्थिति से बाहर निकलें: एक बार कंडीशन False होने पर, लूप लूप कीवर्ड के साथ बाहर निकल जाता है, और अंत में, यह एंड सब कीवर्ड के साथ सब-रूटीन से बाहर निकल जाता है।
- कोड का निष्पादन: चूंकि कोड तैयार है, बस दबाएं F5 कुंजी या कोड को निष्पादित करने के लिए शीर्ष मेनू बार पर हरा प्ले बटन।
अंतिम परिणाम कॉलम ए के भीतर 2-20 से संख्याओं की सूची दिखाता है।
लूप स्थिति के रूप में पूर्व-आबादी वाले कॉलम का उपयोग करना
अब जब आप सिंटैक्स और मूल संरचना के निर्माण की बारीकियों को समझ गए हैं, तो पहले से मौजूद मानदंडों के आधार पर समान संख्याओं को प्रिंट करने के लिए दूसरा कोड क्यों नहीं लिखते? उदाहरण के लिए, आप एक लूप कंडीशन बना सकते हैं जो कॉलम ए से अपना क्यू चुनती है और कॉलम बी में आउटपुट प्रिंट करती है।
कॉलम ए में कुल आबादी वाले सेल के आधार पर, आप कॉलम बी में दो के गुणकों को प्रिंट कर सकते हैं। लूप बेसिस कॉलम ए की प्री-पोपुलेटेड सेल की कुल संख्या चलाता है। चूंकि प्रारंभिक पंक्ति मान एक (a = 1) है, अंत मान गतिशील है और डू-जबकि लूप द्वारा स्वत: गणना की जाती है।
अपने पंक्ति मान का उपयोग करते हुए, कोड कॉलम ए में प्रत्येक सेल के माध्यम से लूप करता है और संख्या को 2 से गुणा करता है। आउटपुट कॉलम बी में दिखाया गया है।
यदि स्तंभ A में दस से अधिक मान हैं, तो लूप तब तक चलेगा जब तक कि उसे पहले स्तंभ में कोई रिक्त मान न मिल जाए। इसी तरह, आप डू-वाइल लूप के भीतर और भी जटिल स्थितियां लिख सकते हैं और इसका उपयोग शर्तों की जांच करने और आवश्यकतानुसार आउटपुट प्रदर्शित करने के लिए कर सकते हैं।
डू-व्हाइल लूप के भीतर IF स्टेटमेंट का उपयोग करना
नेस्टेड लूप की तरह, आप स्थिति की एक और परत जोड़ने के लिए डू-व्हाइल लूप के भीतर IF स्टेटमेंट का उपयोग कर सकते हैं। ऐसे मामले में, do-जबकि लूप पूरे लूप को तब तक चलाता है जब तक कि कंडीशन False नहीं है, और आंतरिक IF स्टेटमेंट हर बार लूप के चलने पर निष्पादित होता है।
नीचे दिए गए उदाहरण में, डू-वाइल लूप कॉलम ए में प्रत्येक सेल के माध्यम से चक्रित होता है, जब तक कि यह एक खाली सेल का सामना नहीं करता। इसके बाद, IF स्टेटमेंट कॉलम A में प्रत्येक सेल के मान की जाँच करता है और कॉलम B में आउटपुट को प्रिंट करता है। जैसे ही बाहरी लूप कॉलम A में एक खाली सेल का सामना करता है, लूप बंद हो जाता है और सब-रूटीन से बाहर निकल जाता है।
आउटपुट इस प्रकार है:
जब तक कॉलम ए में मान पांच से कम नहीं है, तब तक कॉलम बी में परिणामी मूल्य पांच है। A6 में, चूंकि सेल मान पाँच से अधिक है, परिणामी आउटपुट सात है, जो कि IF स्थिति के साथ समन्वयित है।
वीबीए की बहुआयामी कार्यात्मकताओं को उजागर करना
उन्नत डेटा विश्लेषण करने के लिए एक्सेल और VBA एक बहुत ही अनुकूल संयोजन बनाते हैं। वीबीए के बिना भी, आप अपने प्रोग्रामिंग कौशल का उदाहरण देते हुए जटिल कार्यों को करने के लिए एक्सेल के विभिन्न तार्किक कार्यों का उपयोग कर सकते हैं।
यदि आप डेटा विश्लेषण में रुचि रखते हैं और अपनी नियमित गतिविधियों में एक्सेल का उपयोग करते हैं, तो आप एक्सेल के बहुआयामी तार्किक कार्यों का उपयोग करने से अत्यधिक लाभ उठा सकते हैं।