/ एक्सेल वीबीए में सॉर्ट नंबर / सॉर्ट करें

एक्सेल वीबीए में सॉर्ट नंबर

नीचे हम एक कार्यक्रम देखेंगे एक्सेल VBA उस प्रकार की संख्या.

परिस्थिति:

सॉर्ट नंबर उदाहरण

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

1. सबसे पहले, हम प्रकार के पूर्णांक और एक रेंज ऑब्जेक्ट के तीन चर घोषित करते हैं।

Dim i As Integer, j As Integer, temp As Integer, rng As Range

2। हम कॉलम ए में संख्याओं के साथ रेंज ऑब्जेक्ट आरएनजी शुरू करते हैं। हम इसके लिए CurrentRegion प्रॉपर्टी का उपयोग करते हैं। CurrentRegion उपयोगी है जब हम पहले से किसी सीमा की सटीक सीमाएं नहीं जानते हैं (हम चाहते हैं कि यह प्रोग्राम 9 संख्याओं के लिए काम करे लेकिन 90 अंकों के लिए भी)।

Set rng = Range("A1").CurrentRegion

3. हम अगली लूप के लिए दो शुरू करते हैं।

For i = 1 To rng.Count
    For j = i + 1 To rng.Count

स्पष्टीकरण: rng.Count 9 बराबर है, इसलिए पहली दो कोड लाइनें i = 1 से 9 के लिए कम होती हैं और j = i + 1 से 9 तक। I = 1, j = 2, 3, ..., 8 और 9 के लिए चेक किया गया है

4. संख्याओं को सही तरीके से क्रमबद्ध करने के लिए, हम पहले नंबर की तुलना में पहले नंबर की तुलना करें। यदि अगला नंबर छोटा है, तो हम संख्याओं को स्वैप करते हैं। यदि अगला कथन है तो निम्नलिखित जोड़ें।

If rng.Cells(j) < rng.Cells(i) Then

End If

यदि उपर्युक्त कथन सत्य है, तो हम संख्याओं को स्वैप करते हैं।

उदाहरण के लिए: i = 1 और j = 2 के लिए, संख्या 2 और 10 की तुलना की जा रही है। उपर्युक्त कथन सत्य नहीं है। इस प्रकार, संख्याओं को स्वैप करने की कोई आवश्यकता नहीं है। एक्सेल वीबीए 1 से जे बढ़ाता है और i = 1 और j = 3 के लिए कोड लाइन दोहराता है। आप आसानी से देख सकते हैं कि 5 2 से बड़ा है, इसलिए अभी भी संख्याओं को स्वैप करने की आवश्यकता नहीं है। हम j = 4, j = 5 और j = 6 के लिए एक ही परिणाम प्राप्त करते हैं। जब हम j = 7 पर पहुंचते हैं, तो ऊपर दिया गया कथन सत्य है क्योंकि 1 2 से छोटा है।

5. हम संख्याओं को स्वैप करते हैं। हम अस्थायी रूप से अस्थायी रूप से एक संख्या को स्टोर करते हैं, ताकि एक्सेल वीबीए संख्याओं को सही ढंग से स्वैप कर सके। अगर कथन में निम्नलिखित कोड लाइनें जोड़ें।

"swap numbers
temp = rng.Cells(i)
rng.Cells(i) = rng.Cells(j)
rng.Cells(j) = temp

6. हम अगली लूप के लिए दूसरा बंद करते हैं (अगर कथन के बाहर)।

Next j

I = 1 और j = 7 के लिए, एक्सेल वीबीए ने स्वैप कियासंख्या। इसका मतलब है कि हमें पहली स्थिति में 1 और 2 स्थिति 7 पर मिलता है। अब हमारे पास पहली स्थिति में 1 है, हम इस मान की तुलना 5 (जे = 8) और 4 (जे = 9 के लिए) के साथ करेंगे। संख्याओं को स्वैप करने की कोई आवश्यकता नहीं है (1 सबसे छोटी संख्या है)। इस तरह एक्सेल वीबीए (i = 1 के लिए) पहली स्थिति में सबसे छोटी संख्या प्राप्त करता है। दूसरी स्थिति में दूसरा सबसे छोटा नंबर प्राप्त करने के लिए, एक्सेल वीबीए i = 2. के लिए सटीक एक ही चरण को दोहराता है। तीसरी स्थिति में तीसरा सबसे छोटा नंबर प्राप्त करने के लिए, एक्सेल वीबीए i = 3, आदि के लिए एक ही चरण को दोहराता है।

7. अगला लूप के लिए पहले बंद करें (अगर कथन के बाहर)।

Next i

8. अपने कार्यक्रम का परीक्षण करें।

परिणाम:

एक्सेल वीबीए में सॉर्ट नंबर

यह भी पढ़ें: