/ / एक्सेल वीबीए लूप

एक्सेल वीबीए लूप

एकल लूप | डबल लूप | ट्रिपल लूप | लूप के दौरान करो

लूपिंग सबसे शक्तिशाली प्रोग्रामिंग तकनीकों में से एक है। ए पाश में एक्सेल VBA आपको केवल कुछ कोड लाइनों के साथ कोशिकाओं की एक श्रृंखला के माध्यम से लूप करने में सक्षम बनाता है।

एकल लूप

आप कोशिकाओं की एक-आयामी श्रृंखला के माध्यम से लूप को एक लूप का उपयोग कर सकते हैं।

अपने वर्कशीट पर कमांड बटन रखें और निम्न कोड लाइनें जोड़ें:

Dim i As Integer

For i = 1 To 6
    Cells(i, 1).Value = 100
Next i

जब आप पत्रक पर आदेश बटन क्लिक करते हैं, तो परिणाम:

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

स्पष्टीकरण: फॉर एंड नेक्स्ट के बीच कोड लाइनों को छह बार निष्पादित किया जाएगा। I = 1 के लिए, एक्सेल वीबीए पंक्ति 1 और कॉलम 1 के चौराहे पर सेल में 100 मान डालता है। जब एक्सेल वीबीए अगला I तक पहुंच जाता है, तो यह मुझे 1 के साथ बढ़ाता है और फॉर स्टेटमेंट पर वापस कूदता है। I = 2 के लिए, एक्सेल वीबीए पंक्ति 2 और कॉलम 1 के चौराहे पर सेल में मूल्य 100 में प्रवेश करता है।

नोट: फॉर एंड नेक्स्ट के शब्दों के बीच हमेशा इंडेंट (टैब) कोड को इंडेंट करना अच्छा अभ्यास है। यह आपके कोड को पढ़ने में आसान बनाता है।

डबल लूप

आप कोशिकाओं की एक द्वि-आयामी सीमा के माध्यम से लूप को डबल लूप का उपयोग कर सकते हैं।

अपने वर्कशीट पर कमांड बटन रखें और निम्न कोड लाइनें जोड़ें:

Dim i As Integer, j As Integer

For i = 1 To 6
    For j = 1 To 2
        Cells(i, j).Value = 100
    Next j
Next i

जब आप पत्रक पर आदेश बटन क्लिक करते हैं, तो परिणाम:

एक्सेल वीबीए में डबल लूप

स्पष्टीकरण: I = 1 और j = 1 के लिए, एक्सेल वीबीए पंक्ति 1 और कॉलम 1 के चौराहे पर सेल में मूल्य 100 में प्रवेश करता है। जब एक्सेल वीबीए अगला जे तक पहुंच जाता है, तो यह 1 के साथ जे बढ़ाता है और जे जे कथन पर वापस कूदता है। I = 1 और j = 2 के लिए, एक्सेल वीबीए पंक्ति 1 और कॉलम 2 के चौराहे पर सेल में मान 100 में प्रवेश करता है। अगला, एक्सेल वीबीए अगली जे को अनदेखा करता है क्योंकि जे केवल 1 से 2 तक चलता है। जब एक्सेल वीबीए अगला पहुंचता है I , यह मुझे 1 के साथ बढ़ाता है और फॉर i कथन पर वापस कूदता है। I = 2 और j = 1 के लिए, एक्सेल वीबीए पंक्ति 2 और कॉलम 1 के चौराहे पर सेल 100 में सेल में प्रवेश करता है।

ट्रिपल लूप

आप कई एक्सेल वर्कशीट्स पर द्वि-आयामी श्रेणियों के माध्यम से लूप को ट्रिपल लूप का उपयोग कर सकते हैं।

अपने वर्कशीट पर कमांड बटन रखें और निम्न कोड लाइनें जोड़ें:

Dim c As Integer, i As Integer, j As Integer

For c = 1 To 3
    For i = 1 To 6
        For j = 1 To 2
            Worksheets(c).Cells(i, j).Value = 100
        Next j
    Next i
Next c

स्पष्टीकरण: डबल लूप के लिए कोड की तुलना में किया गया एकमात्र परिवर्तन यह है कि हमने एक और लूप जोड़ा है और वर्कशीट्स (सी) जोड़ा है। सी = 1 के लिए पहली शीट पर द्वि-आयामी रेंज प्राप्त करने के लिए कोशिकाओं के सामने, सी = 2 के लिए दूसरी शीट और सी = 3 के लिए तीसरी शीट। इस परिणाम को देखने के लिए एक्सेल फ़ाइल डाउनलोड करें।

लूप के दौरान करो

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

1. अपनी वर्कशीट पर एक कमांड बटन रखें और निम्न कोड लाइनें जोड़ें:

Dim i As Integer
i = 1

Do While i < 6
    Cells(i, 1).Value = 20
    i = i + 1
Loop

जब आप पत्रक पर आदेश बटन क्लिक करते हैं, तो परिणाम:

लूप के दौरान करो

स्पष्टीकरण: जब तक मैं 6 से कम न हो, एक्सेल वीबीए पंक्ति I और कॉलम 1 के चौराहे पर सेल में मूल्य 20 में प्रवेश करता है और 1 से बढ़ता है। एक्सेल वीबीए (और अन्य प्रोग्रामिंग भाषाओं में) में, प्रतीक "=" का अर्थ है हो जाता है। इसका मतलब बराबर नहीं है। तो मैं = i + 1 का मतलब है कि मैं + 1 बन जाता हूं। दूसरे शब्दों में: मेरा वर्तमान मूल्य लें और इसमें 1 जोड़ें। उदाहरण के लिए, यदि मैं = 1, मैं 1 + 1 = 2 बन जाता हूं। परिणामस्वरूप, मान 20 को कॉलम ए में पांच बार रखा जाएगा (छह नहीं, क्योंकि जब मैं 6 के बराबर होता हूं तो एक्सेल वीबीए बंद हो जाता है)।

2. कॉलम ए में कुछ संख्याएं दर्ज करें।

पंक्तियों की कोई संख्या

3. अपने वर्कशीट पर कमांड बटन रखें और निम्न कोड लाइन जोड़ें:

Dim i As Integer
i = 1

Do While Cells(i, 1).Value <> ""
    Cells(i, 2).Value = Cells(i, 1).Value + 10
    i = i + 1
Loop

जब आप पत्रक पर आदेश बटन क्लिक करते हैं, तो परिणाम:

उन्नत करो जबकि लूप

स्पष्टीकरण: जब तक कोशिकाएं (i, 1)।मान खाली नहीं है (<> का अर्थ बराबर नहीं है), एक्सेल वीबीए पंक्ति I और कॉलम 2 के चौराहे पर सेल में मान दर्ज करता है, जो पंक्ति I और कॉलम 1 के चौराहे पर सेल में मान से 10 अधिक है एक्सेल वीबीए बंद हो जाता है जब मैं 7 बराबर करता हूं क्योंकि सेल (7, 1)। वैल्यू खाली है। वर्कशीट पर किसी भी पंक्ति के माध्यम से लूप करने का यह एक शानदार तरीका है।

यह भी पढ़ें: