एक्सेल व्हीबीए: अॅरेमध्ये अनेक निकषांसह कसे फिल्टर करावे (7 मार्ग)

  • ह्याचा प्रसार करा
Hugh West

तुम्ही एक्सेल VBA मधील एकाधिक मापदंड अॅरेसह फिल्टर करण्याचे मार्ग शोधत असाल, तर तुम्ही योग्य ठिकाणी आहात. एक्सेलच्या पारंपारिक वैशिष्ट्याचा वापर करण्याऐवजी VBA कोडच्या मदतीने एकाधिक निकषांवर आधारित मोठा डेटासेट फिल्टर करणे सोपे केले जाऊ शकते.

तर, चला आमचा मुख्य लेख सुरू करूया.

कार्यपुस्तिका डाउनलोड करा

मल्टिपल क्रायटेरिया.xlsm सह फिल्टर

एक्सेल VBA वापरून अ‍ॅरेमधील अनेक निकषांसह फिल्टर करण्याचे 7 मार्ग

खालील डेटासेटमध्ये, आमच्याकडे विद्यार्थ्यांच्या नावाशी आणि त्यांच्या आयडीशी संबंधित गुणांच्या काही नोंदी आहेत. आम्ही काही कोड वापरून अ‍ॅरे म्हणून वेगवेगळ्या निकषांवर आधारित हा डेटासेट फिल्टर करण्याचा प्रयत्न करू.

आम्ही येथे Microsoft Excel 365 आवृत्ती वापरली आहे. तुमच्या सोयीनुसार इतर कोणत्याही आवृत्त्या वापरू शकता.

पद्धत-1: अॅरे

येथे, आम्ही वर आधारित खालील डेटासेट फिल्टर करण्याचा प्रयत्न करू. एमिली , डॅनियल , आणि गॅब्रिएल <10 असलेल्या अनेक निकषांसाठी विद्यार्थ्याचे नाव स्तंभ अ‍ॅरेमध्ये.

स्टेप-01 :

डेव्हलपर वर जा टॅब >> Visual Basic option.

नंतर, Visual Basic Editor ओपन होईल.

Insert टॅब >> मॉड्युल पर्याय वर जा.

त्यानंतर, मॉड्युल असेलतयार केले.

स्टेप-02 :

➤ खालील कोड लिहा

2599

येथे, आम्ही घोषित केले श्रेणीतील शीर्षलेखांची नावे B3:D3 ज्यामध्ये आपण फिल्टर लागू करू आणि फील्ड:=2 या श्रेणीचा स्तंभ क्रमांक आहे ज्याच्या आधारावर आपण ही फिल्टरिंग प्रक्रिया करू.

शेवटी, आम्ही एमिली , डॅनियल यांसारखी अनेक विद्यार्थ्यांची नावे घोषित करण्यासाठी एक अ‍ॅरे म्हणून निकष सेट केले आहेत. , आणि Gabriel .

➤ दाबा F5 .

नंतर, तुम्ही विद्यार्थ्यांचे नाव आणि त्यांच्याशी संबंधित आयडी आणि गुण विद्यार्थ्यांसाठी <दर्शविण्यासाठी अनेक निकषांसाठी डेटासेट फिल्टर केला जाईल. 1> एमिली , डॅनियल , आणि गॅब्रिएल .

<18

अधिक वाचा: एक्सेलमध्ये अनेक निकष फिल्टर करा (4 योग्य मार्ग)

पद्धत-2: अॅरे वापरून अनेक क्रमांकाच्या निकषांसह फिल्टर करा एक्सेल VBA

येथे, आम्ही 101135 , 10 आयडीसाठी खालील डेटासेट फिल्टर करत आहोत. 1137 , आणि 101138 अ‍ॅरेमध्ये अनेक निकष म्हणून या संख्यांचा वापर करून.

चरण :

➤ अनुसरण करा चरण-01 चे पद्धत-1 .

➤ खालील कोड लिहा

5088

येथे, आम्ही B3:D3 या श्रेणीतील शीर्षलेखांची नावे घोषित केली आहेत ज्यामध्ये आपण फिल्टर लागू करू आणि फील्ड:=2 या श्रेणीचा स्तंभ क्रमांक आहे ज्यावर आधारित आम्ही हे फिल्टरिंग करेलप्रक्रिया.

शेवटी, आम्ही 101135 , 101137 सारख्या अनेक विद्यार्थ्यांच्या आयडी घोषित करण्यासाठी अॅरे म्हणून निकष सेट केले आहेत. , आणि 101138 आणि स्ट्रिंग म्हणून निर्दिष्ट करण्यासाठी आम्ही त्यांना उलटे स्वल्पविराम आत ठेवले आहे कारण ऑटोफिल्टर फक्त स्ट्रिंगच्या अॅरेसाठी कार्य करेल.<3

F5 दाबा.

त्यानंतर, तुम्हाला आयडी असलेल्या विद्यार्थ्यांची नावे आणि गुण मिळतील 101135 , 101137 , आणि 101138 .

अधिक वाचा: VBA मधून एक्सेलमधील अ‍ॅरेमध्ये अनन्य मूल्ये मिळवण्यासाठी (3 निकष)

पद्धत-3: वापरण्यासाठी एका श्रेणीमध्ये एकाधिक निकष सेट करणे Array

म्हणून येथे, आम्ही सूची कॉलममध्ये 101134 , 101135<आयडी असलेल्या निकषांची यादी केली आहे. 10> , आणि 101136 ज्याच्या आधारावर आम्ही आमची फिल्टरिंग प्रक्रिया करू.

चरण :

➤ फॉलो करा पद्धत-01 चे पद्धत-1 .

➤ खालील कोड लिहा

2354

येथे , आम्ही decl आहे ared ID_range , k Variant आणि ID_range हा अॅरे आहे जो एकाधिक मापदंड संचयित करेल आणि k आहे या अॅरेच्या खालच्या मर्यादेपासून वरच्या मर्यादेपर्यंतची वाढ. कमी मर्यादा आणि वरची मर्यादा असण्यासाठी आम्ही अनुक्रमे LBOUND फंक्शन आणि UBOUND फंक्शन वापरले.

फॉर लूप हे रूपांतरित करण्यासाठी वापरले जाते. स्ट्रिंग व्यतिरिक्त इतर मूल्ये CStr फंक्शन च्या मदतीने स्ट्रिंगमध्ये अॅरेमध्ये. शेवटी, आम्ही या अॅरेचा वापर Criteria1 म्हणून केला आहे.

F5 दाबा.

नंतर, तुम्ही 101134 , 101135 , आणि 101136 आयडी असलेल्या विद्यार्थ्यांची नावे आणि गुण मिळतील. .

अधिक वाचा: एक्सेल VBA मधील एकाधिक निकषांनुसार भिन्न स्तंभ फिल्टर करा

समान रीडिंग

  • एक्सेलमध्ये युनिक व्हॅल्यू कसे फिल्टर करावे (8 सोपे मार्ग)
  • एक्सेलमध्ये कस्टम फिल्टर करा (5 मार्ग)
  • VBA (मॅक्रो, UDF आणि वापरकर्ता फॉर्म) सह अॅरेची सरासरी मोजा
  • एक्सेल फिल्टरसाठी शॉर्टकट (3 द्रुत वापर उदाहरणांसह)

पद्धत-4: अनेक निकषांसह अ‍ॅरे तयार करण्यासाठी स्प्लिट आणि जॉइन फंक्शन्स वापरणे

येथे, आम्ही यादीतील खालील सूची वापरू. कॉलम अॅरे म्हणून आणि डेटासेट योग्यरित्या फिल्टर करण्यासाठी आम्ही मध्ये स्प्लिट फंक्शन , जॉइन फंक्शन आणि ट्रान्सपोज फंक्शन देखील वापरू. VBA कोड.

चरण :

➤ फॉल कमी पद्धत-1 पैकी चरण-01 .

➤ खालील कोड लिहा

9305

येथे, ट्रान्सपोज रूपांतरित होईल 2D अ‍ॅरे 1D अ‍ॅरेमध्ये अन्यथा ऑटोफिल्टर कार्य करणार नाही, जॉइन प्रत्येक मूल्यांना स्ट्रिंगच्या अॅरेमध्ये सामील करेल, आणि शेवटी, SPLIT इनपुट देण्यासाठी प्रत्येक स्ट्रिंग मोडेलडेटासेट फिल्टर करण्यासाठी निकष म्हणून ते स्वतंत्रपणे.

F5 दाबा.

शेवटी, तुम्हाला नावे आणि गुण मिळतील 101134 , 101135 , आणि 101136 .

आयडी असलेले विद्यार्थी

अधिक वाचा: VBA मधील अॅरेमध्ये स्ट्रिंग कसे विभाजित करावे (3 मार्ग)

पद्धत-5 : VBA

या विभागात, आम्ही विद्यार्थी आयडी मल्टिपलसाठी कॉलमवर अवलंबून खालील डेटासेट फिल्टर करत आहोत. सूची स्तंभात सूचीबद्ध केल्याप्रमाणे निकष.

चरण :

➤ अनुसरण करा चरण- 01 चा पद्धत-1 .

➤ खालील कोड लिहा

5542

येथे, आपण k हे पूर्णांक म्हणून घोषित केले आहे. , ID_range(100) स्ट्रिंग म्हणून जेथे ID_range अ‍ॅरे आहे जी 100 मूल्यांपर्यंत संचयित करेल. या अ‍ॅरेची मूल्ये निर्धारित करण्यासाठी आम्ही येथे फॉर लूप साठी के से 4 पासून 6 चा वापर केला आहे. सूची स्तंभ आणि F स्तंभाचे नाव आहे.

शेवटी, आम्ही हा अॅरे ऑटोफिल्टर साठी निकष1 म्हणून वापरला आहे. .

F5 दाबा.

शेवटी, तुम्हाला आयडी असलेल्या विद्यार्थ्यांची नावे आणि गुण मिळतील 101134 , 101135 , आणि 101136 .

<3

अधिक वाचा: VBA (दोन्ही आणि आणि किंवा) सह एक्सेलमध्ये अनेक निकष फिल्टर कराप्रकार)

पद्धत-6: ​​अनेक निकषांसाठी नामांकित श्रेणी वापरणे

येथे, आम्ही काही विद्यार्थ्यांची नावे यादी स्तंभात सूचीबद्ध केली आहेत आणि त्याला नाव दिले आहे. विद्यार्थी म्हणून श्रेणी. या नामांकित श्रेणीचा वापर करून आम्ही एक अ‍ॅरे परिभाषित करू ज्यामध्ये ऑटोफिल्टर वैशिष्ट्यासाठी अनेक निकष असतील.

चरण :<3

➤ अनुसरण करा पद्धत-1 पैकी चरण-01 .

➤ खालील कोड लिहा

8631

येथे, आम्ही घोषित केले आहे विद्यार्थी_श्रेणी , k व्हेरिएंट म्हणून, आणि ट्रान्सपोज फंक्शन वापरलेले 2D नामांकित श्रेणीचे अॅरे रूपांतरित करण्यासाठी विद्यार्थी 1D अ‍ॅरेमध्ये आणि नंतर ते विद्यार्थी_श्रेणी मध्ये संग्रहित केले. त्यानंतर, ते ऑटोफिल्टर पद्धतीसाठी निकष1 म्हणून वापरले जाते.

➤ दाबा F5 .

नंतर, तुमच्याकडे विद्यार्थ्यांचे नाव आणि त्यांच्याशी संबंधित आयडी आणि गुण <10 दर्शविण्यासाठी एकाधिक निकषांसाठी डेटासेट फिल्टर केला जाईल. विद्यार्थ्यांसाठी जेफरसन , एमिली आणि सारा .

संबंधित सामग्री: VBA to Excel मधील Array (3 पद्धती)

पद्धत-7: एका अ‍ॅरेमध्ये अनेक निकषांसह सारणी फिल्टर करा

येथे, आमच्याकडे खालील सारणी आहे ज्याचे नाव आहे टेबल1 आणि एक्सेल VBA वापरून आम्ही एमिली , डॅनियल , आणि Gabriel अ‍ॅरेमधील अनेक मापदंड म्हणून.

चरण :

पद्धत-1 चे चरण-01 चे अनुसरण करा.

➤ खालील कोड लिहा

6218

येथे, ListObjects(“Table1”) हे सारणी परिभाषित करण्यासाठी वापरले जाते टेबल1 , फील्ड:=2 फिल्टरिंग प्रक्रियेचा आधार म्हणून या श्रेणीचा दुसरा स्तंभ सेट करण्यासाठी आणि शेवटी आम्ही अॅरे परिभाषित केला आहे. Criteria1 साठी एकाधिक नावे आहेत.

➤ दाबा F5 .

शेवटी, तुमच्याकडे डेटासेट असेल विद्यार्थ्यांचे नाव आणि त्यांच्याशी संबंधित आयडी आणि गुण विद्यार्थ्यांसाठी दर्शविण्यासाठी अनेक निकषांसाठी खाली फिल्टर केले>एमिली , डॅनियल , आणि गॅब्रिएल .

अधिक वाचा: Excel VBA: सेल मूल्यावर आधारित फिल्टर टेबल (6 सोप्या पद्धती)

सराव विभाग

द्वारे सराव करण्यासाठी आम्ही स्वतः सराव नावाच्या शीटमध्ये खाली दिलेला सराव विभाग दिला आहे. कृपया ते स्वतः करा.

निष्कर्ष

या लेखात, आम्ही एक्सेल <1 वापरून अॅरे म्हणून अनेक निकषांसह फिल्टर करण्याचे मार्ग समाविष्ट करण्याचा प्रयत्न केला>VBA सहजपणे. तुम्हाला ते उपयुक्त वाटेल अशी आशा आहे. तुमच्याकडे काही सूचना किंवा प्रश्न असल्यास, त्या टिप्पणी विभागात मोकळ्या मनाने शेअर करा.

ह्यू वेस्ट हे एक अत्यंत अनुभवी एक्सेल ट्रेनर आणि विश्लेषक आहेत ज्याचा उद्योगात 10 वर्षांपेक्षा जास्त अनुभव आहे. त्यांनी अकाउंटिंग आणि फायनान्समध्ये बॅचलर डिग्री आणि बिझनेस अॅडमिनिस्ट्रेशनमध्ये पदव्युत्तर पदवी घेतली आहे. ह्यूला शिकवण्याची आवड आहे आणि त्याने एक अद्वितीय शिकवण्याचा दृष्टीकोन विकसित केला आहे ज्याचे अनुसरण करणे आणि समजणे सोपे आहे. एक्सेलच्या त्यांच्या तज्ञ ज्ञानाने जगभरातील हजारो विद्यार्थ्यांना आणि व्यावसायिकांना त्यांची कौशल्ये सुधारण्यास आणि त्यांच्या करिअरमध्ये उत्कृष्ट कामगिरी करण्यास मदत केली आहे. त्याच्या ब्लॉगद्वारे, ह्यू आपले ज्ञान जगासोबत सामायिक करतो, व्यक्ती आणि व्यवसायांना त्यांच्या पूर्ण क्षमतेपर्यंत पोहोचण्यात मदत करण्यासाठी विनामूल्य एक्सेल ट्यूटोरियल आणि ऑनलाइन प्रशिक्षण ऑफर करतो.