VBA सॉर्ट रेंज - एक्सेल VBA में श्रेणी क्रमबद्ध कैसे करें?

एक्सेल VBA सॉर्ट रेंज

VBA में किसी श्रेणी को क्रमबद्ध करके रेंज.ऑर्ट विधि द्वारा किया जाता है, यह उस रेंज विधि का गुण है जिसके साथ उपयोगकर्ता क्रम में किसी श्रेणी को सॉर्ट कर सकता है, इस फ़ंक्शन के तर्क Key1, ऑर्डर 1, की 2, टाइप 2, क्रम 2, की 3 हैं। , आर्डर 3, हैडर, आर्डरकस्टम, माचिस, ओरिएंटेशन, SortMethod, DataOption1, DataOption2, DataOption3, इस फ़ंक्शन के सभी तर्क वैकल्पिक हैं।

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

एक्सेल के साथ, हम सभी उस प्रकार के विकल्प से परिचित हैं जो डेटा टैब के तहत उपलब्ध है।

VBA में सॉर्ट विकल्प

सॉर्ट विकल्प का उपयोग करने के लिए, सबसे पहले, हमें यह तय करने की आवश्यकता है कि VBA में RANGE ऑब्जेक्ट का उपयोग करके हमारी डेटा रेंज क्या है और उसी डेटा रेंज का उल्लेख करें, तभी हम VBA में "सॉर्ट" विकल्प तक पहुंच सकते हैं। उदाहरण के लिए, मान लें कि मेरी डेटा रेंज A1 से D10 तक है, तो हम डेटा रेंज इस प्रकार प्रदान कर सकते हैं।

कोड:

उप Sort_Range_Example () रेंज ("A1: D10") समाप्ति उप

अब एक डॉट डालें और "SORT" विधि चुनें।

कोड:

उप Sort_Range_Example () रेंज ("A1: D10")। सॉर्ट एंड सब

नीचे SORT पद्धति की श्रेणी का सिंटैक्स है। हालाँकि वाक्य रचना के अलग-अलग तर्क हैं, हमें अपने VBA कोडिंग के लिए उन सभी की आवश्यकता नहीं है, इसलिए हमें केवल कुछ तत्वों की आवश्यकता है।

(Key1): जिस डेटा श्रेणी में हम छंटनी कर रहे हैं, हमें यह निर्दिष्ट करना होगा कि हमें किस कॉलम को छांटना है। उदाहरण के लिए, डेटा में A1 की रेंज:, D10 अगर हम स्तंभ बी के आधार पर डेटा सॉर्ट करने के लिए चाहते हैं, तो (कुंजी 1) हो जाएगा रेंज ( "बी 1")

(आदेश 1): (के 1) तर्क में उल्लिखित कॉलम किस क्रम में क्रमबद्ध होना चाहिए। हम यहाँ दो विकल्प चुन सकते हैं "xlAscending" या "xlDescending"।

शीर्षलेख: उल्लिखित डेटा श्रेणी में हेडर हैं या नहीं। यदि हाँ, तो हम "xlYes" की आपूर्ति कर सकते हैं या फिर हम "xlNo" की आपूर्ति कर सकते हैं।

VBA में सॉर्ट रेंज का उदाहरण

आइए इसे बेहतर तरीके से समझने के लिए एक्सेल VBA सॉर्ट रेंज का उदाहरण लें।

उदाहरण के लिए, नीचे दी गई डेटा संरचना को देखें।

हमारे पास A1 से E17 तक का डेटा है, इसलिए पहले, हम "देश-वार" के आधार पर डेटा सॉर्ट करेंगे। डेटा को सॉर्ट करने के लिए कोड लिखने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: एक्सेल मैक्रो प्रक्रिया शुरू करें।

कोड:

उप Sort_Range_Example () उप सब

चरण 2: सबसे पहले, RANGE ऑब्जेक्ट का उपयोग करके डेटा रेंज का उल्लेख करें ।

कोड:

उप Sort_Range_Example () रेंज ("A1: E17") एंड सब

चरण 3: अब रेंज ऑब्जेक्ट की " सॉर्ट " विधि चुनें।

कोड:

सब Sort_Range_Example () रेंज ("A1: E17")। सॉर्ट एंड सब

चरण 4: चूंकि हम "देश-वार" पर आधारित डेटा को सॉर्ट कर रहे हैं, इसलिए हमारे कुंजी 1 तर्क कॉलम में रेंज ("बी 1") होगा।

कोड:

उप Sort_Range_Example () रेंज ("A1: E17")। सॉर्ट Key1: = रेंज ("B1"), एंड सब

चरण 5: एक बार आवश्यक कॉलम का उल्लेख करने के बाद, हमें यह बताना होगा कि हमें किस क्रम में डेटा को क्रमबद्ध करना है, और "ऑर्डर 1" "xlAscending" क्रम होगा।

कोड:

उप Sort_Range_Example () रेंज ("A1: E17")। सॉर्ट Key1: = श्रेणी ("B1"), ऑर्डर 1: = xlAscending, End Sub

चरण 6: हमारे डेटा में हेडर हैं, इसलिए हैडर "xlYes" होगा।

कोड:

उप Sort_Range_Example () रेंज ("A1: E17")। सॉर्ट Key1: = श्रेणी ("B1"), ऑर्डर 1: = xlAscending, Header: = xlYes End Sub

We have mentioned all the elements which are required to sort the data. Execute the code by pressing the F5 function and key and see the result.

Output:

Data has been sorted based on Country names in the order of A to Z.

Now assume we need to sort the data based on Country-wise also we need to sort the “Gross Sales” from highest to lowest. In such cases, we need to make use of Key2 and Order2 arguments as well.

After mentioning Key1 & Order1, let’s choose Key2.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:= End Sub

Since we are sorting the data based on the “Gross Sales” column, our Key2 column name will be Range(“D1”).

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:=Range("D1"), End Sub

Once the Key2 is specified, we need to decide on the sorting patter of whether it is ascending order or descending order in Order2 argument. Since we are sorting the sales value from largest to smallest, we can choose “xlDescending” order.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("D1"), Order2:=xlDescending, Header:=xlYes End Sub

After that, mention the Header argument as “xlYes.” Now run the code and see what happens.

Output:

Previously it has sorted based only on “Country-wise” but this time it has sorted based on “Country-wise” first and then also on “Gross Sales” from highest to lowest.

इस तरह, हम डेटा को व्यवस्थित करने के लिए VBA में " सॉर्ट " विधि का उपयोग कर सकते हैं ।

एक्सेल VBA सॉर्ट रेंज के बारे में याद रखने योग्य बातें

  • सॉर्ट वीबीए में उपलब्ध एक विधि है, और इस विधि का उपयोग करने के लिए, हमें यह निर्दिष्ट करने की आवश्यकता है कि हम किस श्रेणी की कोशिकाओं को सॉर्ट करने जा रहे हैं।
  • यदि डेटा श्रेणी में हेडर शामिल हैं, तो हमें हेडर विकल्प को "xlYes" के रूप में चुनना होगा, यदि नहीं, तो हम "xlNo" चुन सकते हैं।

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