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

- AdvancedFilter: एक रेंज ऑब्जेक्ट को संदर्भित करता है। आप वह रेंज सेट कर सकते हैं जहां आप फ़िल्टर लागू करना चाहते हैं।
- Action: एक आवश्यक तर्क है जिसके दो विकल्प हैं, xlFilterInPlace या xlFilterCopy। xlFilterInPlace का उपयोग उस स्थान पर मान फ़िल्टर करने के लिए किया जाता है जहां डेटासेट है। xlFilterCopy का उपयोग फ़िल्टर किए गए मान को किसी अन्य वांछित स्थान पर प्राप्त करने के लिए किया जाता है।
- CriteriaRange: उस मानदंड को दर्शाता है जिसके लिए मान फ़िल्टर किया जाएगा।
- CopyToRange: वह स्थान है जहां आप अपने फ़िल्टर परिणाम सहेजेंगे।
- Unique: एक वैकल्पिक तर्क है। केवल अद्वितीय मानों को फ़िल्टर करने के लिए True तर्क का उपयोग करें। अन्यथा, डिफ़ॉल्ट रूप से, इसे False माना जाता है।
नीचे दी गई छवि में, एक नमूना डेटा सेट प्रदान किया गया है जिस पर हम सभी फ़िल्टर लागू करना चाहते हैं।

1. Excel में एक रेंज में OR मानदंड के लिए VBA एडवांस्ड फ़िल्टर लागू करें
पहली विधि में, हम VBA एडवांस्ड फ़िल्टर का उपयोग करके OR मानदंड लागू करेंगे। मान लें, हम उत्पाद नाम Cookies और Chocolate के लिए डेटा फ़िल्टर करना चाहते हैं। OR मानदंड लागू करने के लिए, आपको मान को अलग-अलग पंक्तियों में रखना चाहिए। कार्य करने के लिए नीचे उल्लिखित चरणों का पालन करें।

चरण 1:
- Alt + F11 दबाकर VBA Macro खोलें।
- Insert पर क्लिक करें।
- Module चुनें।

चरण 2:
- फिर, OR लागू करने के लिए निम्न VBA कोड पेस्ट करें।
Sub Apply_VBA_Advanced_Filter_for_OR_Criteria() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of datase range and criteria range Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub

चरण 3:
- फिर, प्रोग्राम को सेव करें और F5 दबाकर चलाएं।
- इसलिए, आपको नीचे दी गई छवि में दिखाए अनुसार फ़िल्टर किए गए परिणाम मिलेंगे।

नोट्स। प्रक्रिया को उलटने या सभी फ़िल्टर हटाने के लिए VBA प्रोग्राम पेस्ट करें और चलाएं।
Sub Remove_All_Filter() On Error Resume Next 'command to remove all the filter to show the previous dataset ActiveSheet.ShowAllData End Sub

- परिणामस्वरूप, आपको अपने डेटा सेट का पिछला संस्करण मिलेगा।

और पढ़ें: Excel VBA एडवांस्ड फ़िल्टर के उदाहरण मानदंड के साथ (6 मानदंड)
2. Excel में एक रेंज में AND मानदंड के लिए VBA एडवांस्ड फ़िल्टर निष्पादित करें
पिछली विधि के समान, हम अब AND मानदंड के लिए VBA एडवांस्ड फ़िल्टर निष्पादित करेंगे। मान लें हम $0.65 की कीमत वाले कुकीज़ जानना चाहते हैं जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है। OR मानदंड लागू करने के लिए, आपको मान को अलग-अलग कॉलम में रखना चाहिए। AND मानदंड लागू करने के लिए, नीचे दिए गए निर्देशों का पालन करें।

चरण 1:
- VBA Macro खोलने के लिए, Alt + F11 दबाएं
- VBA Macro खोलने के बाद, एक नए Module में निम्न VBA कोड पेस्ट करें।
Sub Apply_VBA_Advanced_Filter_for_AND_Criteria() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub

चरण 2:
- प्रोग्राम सेव करने के बाद F5 दबाकर चलाएं।
- अंत में, फ़िल्टर किए गए परिणाम प्राप्त करें।

और पढ़ें: Excel में एडवांस्ड फ़िल्टर के साथ VBA से डेटा दूसरी शीट पर कॉपी करें
3. Excel में एक रेंज में OR के साथ AND मानदंड के लिए VBA एडवांस्ड फ़िल्टर का उपयोग करें
आप OR और AND मानदंड दोनों को संयोजन में भी लागू कर सकते हैं। उदाहरण के लिए, आप Cookies या Chocolates के लिए मान प्राप्त करना चाहते हैं, लेकिन Cookies के लिए, एक और मानदंड कीमत $0.65 लागू होगी। इसे पूरा करने के लिए नीचे दी गई प्रक्रियाओं का पालन करें।

चरण 1:
- VBA Macro खोलने के बाद निम्न VBA कोड पेस्ट करें।
Sub Apply_VBA_Advanced_Filter_for_OR_with_AND_Criteria() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub

चरण 2:
- फिर, प्रोग्राम को पहले सेव करें और F5 दबाकर चलाएं।
- परिणामस्वरूप, आप निश्चित AND और OR के साथ मान पाएंगे।

और पढ़ें: Excel में एक कॉलम में एकाधिक मानदंडों के आधार पर एडवांस्ड फ़िल्टर लागू करें
समान पठन:
- Excel में एकाधिक मानदंडों के साथ एडवांस्ड फ़िल्टर (15 उपयुक्त उदाहरण)
- डायनामिक एडवांस्ड फ़िल्टर Excel (VBA और मैक्रो)
- VBA में एडवांस्ड फ़िल्टर का उपयोग कैसे करें (चरण-दर-चरण दिशानिर्देश)
- Excel में मानदंड रेंज के साथ एडवांस्ड फ़िल्टर (18 अनुप्रयोग)
- Excel एडवांस्ड फ़िल्टर काम नहीं कर रहा (2 कारण और समाधान)
4. Excel में एकाधिक मानदंडों के साथ अद्वितीय मानों के लिए VBA एडवांस्ड फ़िल्टर का उपयोग करें
इसके अलावा, यदि आपके डेटा सेट में डुप्लिकेट हैं, तो आप फ़िल्टर करते समय उन्हें हटा सकते हैं। हम केवल अद्वितीय मान प्राप्त करने और डुप्लिकेट हटाने के लिए Unique तर्क को True पर जोड़ेंगे। उल्लिखित निर्देशों का पालन करें।

चरण 1:
- सबसे पहले, Alt + F11 दबाकर VBA मैक्रो खोलें।
- एक नए Module में निम्न VBA कोड पेस्ट करें।
Sub Apply_VBA_Advanced_Filter_for_Unique_Values() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True End Sub

चरण 2:
- फिर, सेव करने के बाद F5 दबाकर प्रोग्राम चलाएं।
- इसलिए, आपको केवल अद्वितीय के लिए मान प्राप्त होंगे।

और पढ़ें: Excel में केवल अद्वितीय रिकॉर्ड के लिए एडवांस्ड फ़िल्टर का उपयोग कैसे करें
5. सशर्त मामले के लिए VBA एडवांस्ड फ़िल्टर निष्पादित करें
पिछली विधियों के अलावा, आप सूत्रों के साथ शर्तें भी लागू कर सकते हैं। उदाहरण के लिए, हम कुल कीमतें ढूंढना चाहते हैं जो $100 से अधिक हैं। इसे पूरा करने के लिए, बस चरणों का पालन करें।

चरण 1:
- सबसे पहले, VBA Macro खोलने के लिए, Alt + F11 दबाएं।
- एक नया Module चुनें और निम्न VBA कोड पेस्ट करें।
Sub Apply_VBA_Advanced_Filter_for_Formula() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub

चरण 2:
- दूसरे, प्रोग्राम को सेव करें और परिणाम देखने के लिए F5 बटन दबाएं।
नोट्स। इसके अतिरिक्त, आप xlFilterCopy एक्शन लागू करके परिणामों को एक अनुकूल स्थान पर प्राप्त कर सकते हैं चाहे वह एक नई रेंज में हो या एक नई वर्कशीट में। बस VBA कोड पेस्ट करें और उन्हें चलाएं ताकि Sheet6 में रेंज B4:E11 में परिणाम प्राप्त हो सकें।
'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Criteria_Rng, CopyToRange:=Sheets("Sheet6").Range("B4:E11") End Sub

- परिणामस्वरूप, नई वर्कशीट 'Sheet6' में अंतिम परिणाम देखें।

और पढ़ें: Excel में कैसे उपयोग करें एडवांस्ड फ़िल्टर यदि मानदंड रेंज में टेक्स्ट है
निष्कर्ष
सारांश में, मुझे आशा है कि अब आप समझ गए होंगे कि Excel में एकाधिक मानदंड रेंज फ़िल्टर करने के लिए VBA एडवांस्ड फ़िल्टर का उपयोग कैसे करें। इन सभी विधियों का उपयोग अपने डेटा के साथ सिखाने और अभ्यास करने के लिए किया जाना चाहिए। अभ्यास पुस्तिका पर एक नज़र डालें और जो आपने सीखा है उसे उपयोग में लाएं। आपके महत्वपूर्ण समर्थन के कारण, हम इस तरह के सेमिनार प्रस्तुत करना जारी रखने के लिए प्रेरित हैं।
यदि आपके कोई प्रश्न हैं, तो कृपया हमसे संपर्क करने में संकोच न करें। कृपया नीचे टिप्पणी अनुभाग में हमें बताएं कि आप क्या सोचते हैं।
Exceldemy स्टाफ आपके प्रश्नों का यथाशीघ्र उत्तर देगा।
हमारे साथ बने रहें और सीखते रहें।
संबंधित लेख
- Excel एडवांस्ड फ़िल्टर [एकाधिक कॉलम और मानदंड, सूत्र और वाइल्डकार्ड का उपयोग करके]
- Excel में खाली सेल्स को बाहर करने के लिए एडवांस्ड फ़िल्टर का उपयोग कैसे करें (3 आसान ट्रिक्स)
- Excel VBA: एक रेंज में एकाधिक मानदंडों के साथ एडवांस्ड फ़िल्टर (5 तरीके)
- Excel में किसी अन्य स्थान पर कॉपी करने के लिए एडवांस्ड फ़िल्टर कैसे लागू करें