VBA ऑटिफ़िल्टर - डेटा को फ़िल्टर करने के लिए VBA AutoFilter मानदंड का उपयोग कैसे करें?

एक्सेल VBA ऑटिफ़िल्टर

VBA में ऑटिफ़िल्टर का उपयोग अभिव्यक्ति के रूप में किया जाता है और अभिव्यक्ति के लिए वाक्यविन्यास निम्नानुसार है। ऑटोफिल्टर (फील्ड, मानदंड 1, ऑपरेटर, मानदंड 2, ड्रॉपडाउन) सभी तर्क वैकल्पिक हैं। फ़िल्टर विशाल डेटा से विशेष डेटा को फ़िल्टर करने में सहायक है।

मान लीजिए आप एक नियमित उपयोगकर्ता हैं, तो एक्सेल फिल्टर आपके लिए कोई अजीब बात नहीं है। वर्कशीट में हमारे द्वारा उपयोग किए जाने वाले कुछ उपकरण VBA में भी एकीकृत हैं, और ऑटो फ़िल्टर विकल्प VBA में उपलब्ध महत्वपूर्ण उपकरणों में से एक है। जैसा कि हम सभी जानते हैं कि एक्सेल फिल्टर डेटा टैब के तहत उपलब्ध है।

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

यदि आप भारी मात्रा में डेटा के साथ काम कर रहे हैं, तो आप प्रक्रिया प्रवाह को आसान बनाने के लिए एक ऑटोफिल्टर विकल्प का उपयोग कर सकते हैं।

ऑटिफ़िल्टर फ़ंक्शन का सिंटैक्स

एक्सेल VBA में ऑटिफ़िल्टर का उपयोग रेंज ऑब्जेक्ट के साथ किया जा सकता है। हमारे अन्य कार्यों की तरह, यह भी, का अपना सिंटैक्स है।

  • रेंज: रेंज बस किस रेंज में आप फ़िल्टर लागू करना चाहते हैं।
  • फ़ील्ड: फ़ील्ड का अर्थ है कि उस श्रेणी के किस स्तंभ से आपने डेटा को फ़िल्टर करने के लिए चुना है। एक कॉलम को बाएं से दाएं गिना जाएगा।

उदाहरण के लिए, यदि आपकी सीमा A1 से D100 तक है और आप D कॉलम के लिए फ़िल्टर लागू करना चाहते हैं, तो आपका फ़ील्ड संख्या 4 है, क्योंकि चयनित श्रेणी में D, चौथा स्तंभ है।

मानदंड 1: क्षेत्र में, आपने वह चुना है जिसे आप फ़िल्टर करना चाहते हैं।

  • ऑपरेटर: यदि आप डेटा को फ़िल्टर करने के लिए एक से अधिक मानदंड लागू करना चाहते हैं, तो हमें ऑपरेटर प्रतीकों का उपयोग करने की आवश्यकता है। कुछ ऑपरेटर कोड नीचे दिए गए हैं।

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterFontCcon, xlFilterIcon, xlTop1010erems

मानदंड 2: आप मानदंड 1 के साथ दूसरी कौन सी चीज फ़िल्टर करना चाहते हैं?

  • विजिबल ड्रॉप डाउन: क्या आप फ़िल्टर किए गए कॉलम में फ़िल्टर फ़ॉप का आइकन प्रदर्शित करना चाहते हैं। यदि आप प्रदर्शित करना चाहते हैं तो TRUE तर्क है, यदि FALSE नहीं है, तो तर्क है।

वीबीए ऑटोफ़िल्टर का उपयोग करके फ़िल्टर कैसे लागू करें? (उदाहरण के साथ)

उस डेटा के नीचे मान लें जिस पर आप कार्य कर रहे हैं।

अब VBA कोड का उपयोग करके, हम फ़िल्टर लागू करेंगे। फ़िल्टर को लागू करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: मैक्रो को एक नाम देकर उपप्रकार शुरू करें।

कोड:

उप AutoFilter_Example1 () सब उप

चरण 2: पहली बात यह है कि फ़िल्टर को लागू करने के लिए हमें किस सीमा में होना चाहिए। इस मामले में, हमें रेंज A1 से E25 तक रेंज लागू करने की आवश्यकता है।

कोड:

उप AutoFilter_Example1 () रेंज ("A1: E25") अंत उप

चरण 3: एक बार सीमा का चयन करने के बाद, अब ऑटो फ़िल्टर विकल्प लागू करें।

कोड:

उप AutoFilter_Example1 () रेंज ("A1: E25")। AutoFilter अंत उप

हम ऑटोफिल्टर का उपयोग करके किसी भी मान का चयन नहीं कर रहे हैं। बल्कि, हम इस समय केवल फ़िल्टर लागू कर रहे हैं।

F5 कुंजी या मैन्युअल रूप से कोड का उपयोग करें, यह चयनित सीमा के लिए फ़िल्टर सम्मिलित करेगा।

इसलिए इसने डेटा के लिए एक फ़िल्टर लागू किया है। अब हम देखेंगे कि डेटा को कैसे फ़िल्टर किया जाए।

उदाहरण # 1 - ऑटफ़िल्टर का उपयोग करके डेटा को फ़िल्टर करना

उपरोक्त उदाहरण से समान डेटा पर विचार करें। अब हमें विभाग कॉलम से "वित्त" विभाग को फ़िल्टर करने की आवश्यकता है।

चरण 1: फ़िल्टर लागू होने के बाद, पहला तर्क यह उल्लेख करना है कि हम किस कॉलम से डेटा फ़िल्टर कर रहे हैं। इस मामले में, हमें विभाग के कॉलम से डेटा को फ़िल्टर करने की आवश्यकता है, इसलिए कॉलम संख्या 5 यदि।

कोड:

उप AutoFilter_Example1 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 5, अंतिम उप

चरण 2: मानदंड 1 कुछ भी नहीं है, लेकिन हम 5 वें कॉलम से क्या फ़िल्टर करना चाहते हैं । इसलिए हमें "वित्त" को फ़िल्टर करने की आवश्यकता है।

कोड:

उप AutoFilter_Example1 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 5, मानदंड 1: = "वित्त" अंतिम उप

तो यह सब है, इस कोड को मैन्युअल रूप से चलाएं, या F5 कुंजी के माध्यम से, यह सूची से केवल "वित्त" को फ़िल्टर करेगा।

उदाहरण # 2 - ऑटोफिल्टर में ऑपरेटर

हमने देखा है कि सिंगल वैल्यू को कैसे फ़िल्टर किया जाता है। अब हम देखेंगे कि कई तत्वों को कैसे फ़िल्टर किया जाए। "वित्त" के साथ-साथ आप "सेल्स" विभाग को भी फ़िल्टर करना चाहते हैं, इसलिए हम ऑपरेटर्स का उपयोग करके ऐसा कर सकते हैं

चरण 1: अगले तर्क में पहला मानदंड लागू करने के बाद, ऑपरेटर को "xlOr" के रूप में चुनें।

कोड:

उप AutoFilter_Example2 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 5, मानदंड 1: = "वित्त", ऑपरेटर: = xlOr समाप्ति उप

चरण 2: अब, मानदंड 2 में, "बिक्री" के रूप में मूल्य का उल्लेख करें।

कोड:

उप AutoFilter_Example2 () श्रेणी ("A1: E25")। AutoFilter फ़ील्ड: = 5, मानदंड 1: = "वित्त", ऑपरेटर: = xlOr, मानदंड 2: = "बिक्री" अंतिम उप

चरण 3: ठीक है, F5 कुंजी या मैन्युअल रूप से इस कोड को चलाएं, यह "वित्त" और "बिक्री" दोनों को फ़िल्टर करेगा।

ऑपरेटर तर्क में, मैंने "xlOr" का उपयोग किया है यह फ़िल्टर के तहत "वित्त" और "बिक्री" दोनों का चयन करेगा ।

उदाहरण # 3 - ऑटोफ़िल्टर का उपयोग करके फ़िल्टर नंबर

ऑपरेटर प्रतीक "XlAnd" का उपयोग करके, हम संख्याओं को भी फ़िल्टर कर सकते हैं। ओवरटाइम कॉलम से मान लें कि आप उन सभी मूल्यों को फ़िल्टर करना चाहते हैं जो> 1000 लेकिन <3000 हैं।

चरण 1: पहली चीज़ फील्ड को 5 से 4 में बदल रही है।

कोड:

उप AutoFilter_Example3 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 4 अंतिम उप

चरण 2: मानदंड 1 > 1000 है।

कोड:

उप AutoFilter_Example3 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 4, मानदंड 1: = "> 1000", एंड सब

चरण 3: यहां, हमें दोनों मानदंडों का मिलान करने की आवश्यकता है, इसलिए ऑपरेटर के रूप में "xAlnd" का उपयोग करें।

कोड:

उप AutoFilter_Example3 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 4, मानदंड 1: = "> 1000", ऑपरेटर: = xlAnd, अंतिम उप

चरण 4: मानदंड 2 होगा <3000।

कोड:

उप AutoFilter_Example3 () रेंज ("A1: E25")। AutoFilter फ़ील्ड: = 4, मानदंड 1: = "> 1000", ऑपरेटर: = xlAnd, मानदंड 2: = <3000 "अंतिम उप

अब, यदि आप इस कोड को मैन्युअल रूप से या F5 कुंजी के माध्यम से चलाते हैं, तो यह ओवरटाइम कॉलम से सभी मानों को फ़िल्टर कर देगा, जो कि> 1000 लेकिन <3000 हैं।

उदाहरण # 4 - ऑटोफ़िल्टर का उपयोग करके विभिन्न स्तंभों से फ़िल्टर करें

विभिन्न स्तंभों से डेटा को फ़िल्टर करने के लिए, हमें एक अलग प्रक्रिया का उपयोग करने की आवश्यकता है। मान लें कि आप "वित्त" विभाग को फ़िल्टर करना चाहते हैं और आप वेतन संख्या को भी फ़िल्टर करना चाहते हैं, जो कि> 25000 लेकिन <40000 हैं।

आप नीचे दिए गए कोड का उपयोग कर सकते हैं।

कोड:

सब ऑटोफ़िल्टर_ एक्सप्लोम 4 () रेंज के साथ ("A1: E25") .ऑटोफ़िल्टर फ़ील्ड: = 5, मानदंड 1: = "वित्त"। <40000 "एंड सब एंड के साथ उप

यह दो कॉलमों को फ़िल्टर करेगा।

इस कोड को F5 कुंजी का उपयोग करके चलाएं, या आप मैन्युअल रूप से चला सकते हैं।

याद रखने वाली चीज़ें

  • VBA AutoFilter का ज्ञान प्राप्त करने के लिए ऑपरेटर के तहत विभिन्न संयोजनों का प्रयास करें।
  • यदि आप सुनिश्चित नहीं हैं कि क्या डालना है, तो मैक्रो रिकॉर्डर का उपयोग करने का प्रयास करें।
  • यदि आप पाठ मानों को फ़िल्टर करना चाहते हैं, तो आपको उन्हें डबल-कोट्स में आपूर्ति करने की आवश्यकता है।
  • एक से अधिक कॉलम फिल्टर लगाने के लिए स्टेटमेंट के साथ उपयोग करें।

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