VBA अगले के लिए - एक्सेल वीबीए को अगले विवरण के लिए उपयोग करने के लिए गाइड

एक्सेल VBA अगले लूप के लिए

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

"फॉर नेक्स्ट" लूप उन लूप्स में से एक है जो VBA कोडिंग में अन्य लूप्स की तुलना में बहुत बार उपयोग किया जाता है। लूप्स हमें निर्दिष्ट कोशिकाओं के लिए उसी तरह के कार्य को दोहराने में मदद करेगा जब तक कि हालत सही न हो।

सेल की श्रेणी के माध्यम से लूप के लिए छोरों और एक विशिष्ट कार्य करते हैं जब तक कि हालत सही न हो। उदाहरण के लिए, यदि आप पहली 10 कोशिकाओं के माध्यम से लूप करना चाहते हैं और 1 से बढ़े हुए सीरियल नंबर सम्मिलित करते हैं, तो आप NEXT लूप का उपयोग कर सकते हैं।

इस लूप को लूप चलाने के लिए एक चर की जरूरत होती है। इस चर का उपयोग करके, हम गतिशील रूप से कोशिकाओं को संदर्भित कर सकते हैं।

इसमें तीन पैरामीटर शामिल हैं।

स्टेटमेंट के लिए = स्टार्टिंग पॉइंट टू एंड पॉइंट (कुछ कार्य निष्पादित करें) अगला स्टेटमेंट

शुरुआती बिंदु से लूप शुरू होगा और कार्य को अगले लूप में समाप्त करने के बाद कुछ कार्य करेगा और फिर से अलग सेल में एक ही कार्य करेगा। इस तरह, जब तक यह समापन बिंदु तक नहीं पहुंचता, तब तक यह निर्दिष्ट कार्य करता रहता है।

अगले लूप के लिए VBA का उपयोग कैसे करें?

मान लें कि आप क्रम संख्या को 1 से 10 से A1 से A10 कोशिकाओं में सम्मिलित करना चाहते हैं। बेशक, हम कोड की दस लाइनें लिखने की तरह सम्मिलित कर सकते हैं।

कोड:

उप For_Next_Loop_Example1 () श्रेणी ("A1")। मान = 1 श्रेणी ("A2")। मान = 2 श्रेणी ("A3")। मान = 3 श्रेणी ("A4")। मान = 4 श्रेणी ("A5")। .Value = 5 श्रेणी ("A6")। मान = 6 श्रेणी ("A7")। मान = 7 श्रेणी ("A8")। मान = 8 श्रेणी ("A9")। मान = 9 श्रेणी ("A10")। .Value = 10 अंत उप

लेकिन क्या होगा अगर मैं 100 सीरियल नंबर डालना चाहता हूं? बेशक, मैं सिर्फ सीरियल नंबर डालने के लिए कोड की 100 लाइनें नहीं लिख सकता। यह वह जगह है जहाँ "फॉर नेक्स्ट" लूप की सुंदरता तस्वीर में आती है। कोड को कम करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: सबसे पहले, हमें एक चर को परिभाषित करने की आवश्यकता है। मैंने "Serial_Number" नामक चर नाम को पूर्णांक डेटा प्रकार घोषित किया है ।

कोड:

उप For_Next_Loop_Example2 () Dim Serial_Number के रूप में पूर्णांक उप

चरण 2: अब मैं अगले लूप के लिए आवेदन करने का आदेश देता हूं, हमारा उद्देश्य 1 से 10 तक सीरियल नंबर डालना है, इसलिए इसका मतलब है कि हमारे लूप को दस बार चलना है। तो LOOP स्टेटमेंट इस तरह होना चाहिए।

Serial_Number = 1 से 10 के लिए

अगला सीरियल

कोड:

उप for_Next_Loop_Example2 () Serial_Number के लिए पूर्णांक के रूप में मंद Serial_Number = 1 से 10 अगला Serial_Number समाप्ति उप

चरण 3: हमने लूप लागू किया है। अब एक बार लूप लगाने के बाद, हमें यह बताना होगा कि हमें लूप के अंदर क्या करना है। हमारा उद्देश्य 1 से 10 तक सीरियल नंबर डालना है । इसलिए कोड को सेल (Serial_Number, 1) के रूप में लिखें। Value = Serial_Number।

कोड:

उप For_Next_Loop_Example2 () मंद Serial_Number के रूप में पूर्णांक Serial_Number = 1 से 10 कक्ष (Serial_Number, 1) .Value = Serial_Number मंद Serial_Number समाप्ति उप।

चरण 4: इस कारण से हमने CELLS संपत्ति में Serial_Number दिया है क्योंकि हम यहां पंक्ति संदर्भ के लिए कट्टर संख्या निर्दिष्ट नहीं कर सकते। हर बार लूप चलता है, मैं नए सेल नंबर को नए सेल में डालना चाहता हूं, उसी सेल में नहीं।

चरण 5: F8 कुंजी दबाकर कोड लाइन को लाइन से चलाएं।

चरण 6: चर पर एक कर्सर रखें Serial_Number; यह Serial_Number के वर्तमान मूल्य को दर्शाता है।

इस समय, Serial_Number मान शून्य है।

चरण 7: एक बार और F8 कुंजी दबाएं, पीला रंग VBA में कोड की अगली पंक्ति में चला जाएगा। अब Serial_Number पर एक कर्सर रखें।

अब Serial_Number का मान एक के बराबर है क्योंकि अब लूप शुरू हो गया है और हमारा लूप 1 से शुरू हो रहा है, इसलिए वेरिएबल Serial_Number मान एक के बराबर है।

यहाँ एक और दिलचस्प बात यह है कि जहाँ भी चर Serial_Number है, वह भी 1 के बराबर है।

इसलिए कोशिकाओं की संपत्ति में, हमने निम्न कोड का उल्लेख किया है:

कक्ष (Serial_Number, 1) .Value = Serial_Number

इसका मतलब है सेल (1, 1) । वाल्यू = 1. (सेल (1,1) का मतलब है रो 1 और कॉलम 1)।

तो पंक्ति संख्या 1 और स्तंभ संख्या 1 में, मान 1 होना चाहिए।

चरण 8: अब F8 को एक बार और दबाएं और देखें कि रो 1 और कॉलम 1 में क्या होता है, सेल A1।

तो हमें मूल्य के रूप में 1 मिला, यानी Serial_Number का मान।

Step 9: Now press the F8 key one more time. Typically next code should be run i.e., the end of the substatement. But here, it will go back to the “above line.”

Step 10: Remember the loop already completed the first run. Now it returns for the second time. Now place a cursor on the variable Serial_Number and see what the value is.

Now variable Serial_Number is equal to 2 because the loop already returned for the second time.

Now, wherever Serial_Number is, there is equal to the value of 2. So the line code:

Cells(Serial_Number, 1).Value = Serial_Number is equal to:

Cells(2, 1).Value = 2. (Cells (2,1) means Row2 & Column1 i.e. A2 cell).

Step 11: Run this code and see the value in the A2 cell.

So, we got the second serial number value.

चरण 12: अब F8 कुंजी दबाएं। कोड को दोहराने के लिए यह फिर से उपरोक्त पंक्ति में आएगा। इस बार Serial_Number मूल्य 3 होगा।

चरण 13: तो जहाँ भी सीरियल_नंबर है, वहाँ 3 के बराबर है।

तो लाइन कोड: कक्ष (Serial_Number, 1) .Value = Serial_Number बराबर है:

कक्ष (3, 1)। वाल्यू = 3. (सेल (3,1) का अर्थ है पंक्ति 3 और कॉलम 1 अर्थात A3 सेल)।

चरण 14: हाइलाइट की गई पंक्ति को निष्पादित करने के लिए F3 दबाएं और A3 सेल में मान देखें।

Step 15: अब F8 दबाते रहें। यह सीरियल नंबर डालती रहेगी। चर Serial_Number का क्षण मान 10 है यह लूप को बंद कर देगा और लूप से बाहर निकलेगा।

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