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

हमने यहाँ माइक्रोसॉफ्ट एक्सेल 365 संस्करण का उपयोग किया है, आप अपनी सुविधा के अनुसार किसी भी अन्य संस्करण का उपयोग कर सकते हैं।
सुधार-1: फील्ड नंबर सही करके ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड समस्या हल करें
यहाँ, हम निम्नलिखित रेंज को 2500 से अधिक बिक्री मूल्यों के आधार पर फ़िल्टर करने का प्रयास करेंगे, VBA कोड की सहायता से।

रेंज फ़िल्टर करने के लिए हमने निम्न कोड का उपयोग किया है
Sub fixing_autofilter_issue_1() Dim sht As Worksheet Set sht = Worksheets("Field Number") sht.Range("B3:D3").AutoFilter field:=100, Criteria1:=">=2500" End Sub
यहाँ, field: रेंज के कॉलम नंबर को इंगित करने के लिए है, जिसे हमने 100 असाइन किया है लेकिन इस रेंज में 3 से अधिक कॉलम नहीं हैं।

तो, F5 दबाने के बाद हमें त्रुटि संदेश ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड मिल रहा है।

➤ इस समस्या को हल करने के लिए, रेंज के कॉलम नंबर के अनुरूप सही फील्ड नंबर का उपयोग करें (हम 3 उपयोग कर रहे हैं क्योंकि यह रेंज के बिक्री कॉलम का क्रमांक है)।
Sub fixing_autofilter_issue_1() Dim sht As Worksheet Set sht = Worksheets("Field Number") sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500" End Sub

➤ F5 दबाएं।
अब, आप त्रुटि संदेश के बिना मानदंड के अनुसार अपनी रेंज फ़िल्टर कर पाएंगे।

और पढ़ें: एक्सेल VBA से जांचें कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)
सुधार-2: ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड समस्या हल करने के लिए सही रेंज का उपयोग करें
हम निम्न डेटासेट में बिक्री कॉलम के आधार पर $2,500.00 से अधिक मानों के लिए फ़िल्टर लागू करने का प्रयास करेंगे।

रेंज शीट की रेंज फ़िल्टर करने के लिए हमने निम्न कोड का उपयोग किया है।
Sub fixing_autofilter_issue_2() Dim sht As Worksheet Set sht = Worksheets("Range") sht.Range("D3:D100").AutoFilter field:=3, Criteria1:=">=2500" End Sub
यहाँ, हम देख सकते हैं कि हमने रेंज D3:D100 और फील्ड नंबर 3 का उपयोग किया है, और ये मान एक-दूसरे से मेल नहीं खाते क्योंकि इस रेंज में केवल एक कॉलम है।

तो, F5 दबाने के बाद हमें फिर से त्रुटि संदेश मिल रहा है।

➤ कोड को निम्न में सुधारें
Sub fixing_autofilter_issue_2() Dim sht As Worksheet Set sht = Worksheets("Range") sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500" End Sub
हमने रेंज को अब B3:D3 में बदल दिया है।

➤ F5 दबाएं।
बाद में, आप त्रुटि संदेश के बिना मानदंड के अनुसार अपनी रेंज फ़िल्टर कर पाएंगे।

सुधार-3: टेबल फ़िल्टर करने के कारण ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड समस्या
यहाँ, हमारे पास निम्न टेबल है जहाँ हम कोड की सहायता से फ़िल्टर विकल्प लागू करने का प्रयास करेंगे ताकि इस टेबल को बिक्री कॉलम के आधार पर फ़िल्टर किया जा सके।

इस उद्देश्य के लिए, हमने निम्न कोड का उपयोग किया है
Sub fixing_autofilter_issue_3() Dim sht As Worksheet Set sht = Worksheets("Table") sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500" End Sub
इस कोड में सब कुछ ठीक लगता है। आइए जांचें।

लेकिन F5 दबाने के बाद, हमें त्रुटि संदेश मिल रहा है।

इस समस्या को हल करने के लिए हमें इस टेबल को रेंज में बदलना होगा।
➤ टेबल चुनें और फिर टेबल डिज़ाइन टैब >> उपकरण समूह >> रेंज में बदलें विकल्प पर जाएं।

फिर, रूपांतरण के बारे में सुनिश्चित करने के लिए एक संदेश बॉक्स दिखाई देगा।
➤ यहाँ हाँ दबाएं।

उसके बाद, आपको बनी टेबल से रेंज मिल जाएगी।

➤ अब, पिछला कोड फिर से लागू करें।
Sub fixing_autofilter_issue_3() Dim sht As Worksheet Set sht = Worksheets("Table") sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500" End Sub

➤ F5 दबाएं।
जैसा कि आप देख सकते हैं, इस बार ऑटोफिल्टर मेथड ठीक से काम कर रहा है।

सुधार-4: पिवट टेबल फ़िल्टर करने के कारण ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड समस्या
यहाँ, हमारे पास निम्न पिवट टेबल है जहाँ दूसरी कॉलम में बिक्री मूल्य हैं जिसके आधार पर हम ऑटोफिल्टर मेथड लागू करेंगे।

तो, हमने निम्न कोड लागू किया है।
Sub fixing_autofilter_issue_4() Dim sht As Worksheet Set sht = Worksheets("Pivot") sht.Range("A3:B3").AutoFilter field:=2, Criteria1:=">=2500" End Sub
यहाँ, फील्ड नंबर 2 रेंज A3:B3 के दूसरे कॉलम के लिए है।

F5 दबाने के बाद, आपको त्रुटि संदेश ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड मिलेगा।

इस समस्या को हल करने के लिए आप पिवट टेबल के स्रोत रेंज पर इस ऑटोफिल्टर मेथड को लागू कर सकते हैं।
जैसा कि आप देख सकते हैं, इस टेबल के लिए हमारे पास स्रोत रेंज स्रोत शीट में स्थित है और यहाँ हम अपना कोड लागू करेंगे।

➤ इस स्रोत रेंज के लिए निम्न कोड लागू करें।
Sub fixing_autofilter_issue_4_1() Dim sht As Worksheet Set sht = Worksheets("Source") sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500" End Sub

➤ F5 दबाएं।
अंततः, आप बिक्री कॉलम के लिए दिए गए मानदंड के आधार पर रेंज को फ़िल्टर कर पाएंगे।

सुधार-5: हेडर के बजाय पूरी रेंज उपयोग करने के कारण समस्या
इस खंड में, हम एक मामूली समस्या पर चर्चा करने जा रहे हैं जो शायद ही त्रुटि संदेश ऑटोफिल्टर मेथड ऑफ रेंज क्लास फेल्ड को उकसाती है। लेकिन आप इस तथ्य से अवगत हो सकते हैं कि यह इस त्रुटि का कारण हो सकता है।
पिछले उदाहरणों की तरह, हम निम्न रेंज पर ऑटोफिल्टर मेथड लागू करेंगे।

फ़िल्टर लागू करने के लिए हमने निम्न कोड का उपयोग किया है।
Sub fixing_autofilter_issue_5() Dim sht As Worksheet Set sht = Worksheets("Header") sht.Range("B3:D11").AutoFilter field:=3, Criteria1:=">=2500" End Sub
यहाँ, हमने पूरे डेटासेट के लिए रेंज B3:D11 का उपयोग किया है जो अनावश्यक है, और कभी-कभी यह एक बड़ी रेंज के लिए उस त्रुटि संदेश का कारण बन सकता है।

तो, हम उस कोड को निम्न में बदल सकते हैं केवल हेडर को रेंज के रूप में उपयोग करके।
Sub fixing_autofilter_issue_5() Dim sht As Worksheet Set sht = Worksheets("Header") sht.Range("B3:D3").AutoFilter field:=3, Criteria1:=">=2500" End Sub

F5 दबाने के बाद, आपको किसी भी समस्या का सामना किए बिना अपना वांछित परिणाम मिल जाएगा।

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