सामग्री सारणी
आम्ही Visual Basic Application (VBA) मध्ये वापरतो ते सर्वात महत्वाचे आणि मोठ्या प्रमाणावर वापरलेले एक फंक्शन म्हणजे Find फंक्शन. या लेखात, मी तुम्हाला एक्सेलचे FIND फंक्शन योग्य उदाहरणे आणि उदाहरणांसह कसे वापरू शकता ते दाखवेन.
सराव वर्कबुक डाउनलोड करा
<6 VBA मध्ये Excel.xlsm मध्ये फंक्शन शोधा
6 VBA मध्ये FIND फंक्शन वापरण्यासाठी द्रुत उदाहरणे
आम्ही येथे आहोत मार्टिन बुकस्टोअर नावाच्या पुस्तकांच्या दुकानाच्या पुस्तकांची नावे, लेखक आणि किंमत यासह डेटा संच मिळाला.
आज या डेटा सेटमधून VBA चे Find function चे विविध प्रकारचे उपयोग पाहणे हा आमचा उद्देश आहे.
1. व्हीबीए मधील फाइंड फंक्शन कोणत्याही पॅरामीटरशिवाय वापरा
तुम्ही व्हीबीए चे फाइंड फंक्शन कोणत्याही पॅरामीटरशिवाय वापरू शकता.
नंतर ते सेलच्या श्रेणीमध्ये विशिष्ट मूल्य शोधेल आणि त्याला सापडलेला पहिला सामना परत करेल.
चला नाव शोधूया “पी. B. Shelly” स्तंभात Author ( C4:C13 ).
Find function ही ओळ असेल:
Set cell = Range("C4:C17").Find("P. B. Shelly")
पूर्ण VBA कोड असेल:
⧭ VBA कोड:
1307
⧭ आउटपुट:
ते तयार करते मॅक्रो म्हणतात शोधा . तुम्ही मॅक्रो चालवल्यास, ते $C$6 , P नावाचा पहिला सेल पत्ता देईल. B. शेली .
अधिक वाचा: VBA सह श्रेणीमध्ये शोधाएक्सेल: अचूक आणि आंशिक जुळण्यांसह
2. आफ्टर पॅरामीटरसह व्हीबीएमध्ये फाइंड फंक्शन लागू करा (विशिष्ट सेलमधून शोध सुरू करण्यासाठी)
तुम्ही फाइंड फंक्शन सह नंतर पॅरामीटर वापरू शकता VBA मध्ये. मग ते सेलच्या खाली श्रेणीतील मूल्य शोधण्यास प्रारंभ करेल.
उदाहरणार्थ, नाव शोधणे सुरू करूया “पी. B. Shelly” खालील सेलमधून C6 .
कोडची ओळ असेल:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
आणि पूर्ण VBA कोड असेल:
⧭ VBA कोड:
4053
⧭ आउटपुट:
ते परत येईल $C$13 कारण ते खाली सेल C6 पासून शोधण्यास सुरुवात करते, ते सेल C7 पासून आहे. त्यामुळे त्याला P मिळते. B. शेली सेलमध्ये C13 प्रथम.
अधिक वाचा: एक मध्ये स्ट्रिंग कसे शोधायचे एक्सेलमध्ये VBA वापरणारा सेल
3. आफ्टर पॅरामीटरच्या आसपास रॅपिंगसह व्हीबीएमध्ये फाइंड फंक्शन चालवा (वर्तुळाकार मार्गाने मूल्य शोधण्यासाठी)
फाइंड फंक्शन<2 सह नंतर पॅरामीटर> वर्तुळाकार मार्गाने मूल्य शोधते
म्हणजे, ते श्रेणीतील सेलच्या खालून शोधणे सुरू करते, श्रेणीमध्ये शोधणे पूर्ण करते आणि नंतर पुन्हा श्रेणीच्या शीर्षस्थानापासून सुरू होते.
उदाहरणार्थ, नंतर पॅरामीटर वापरून “जॉन कीट्स” सेल C8 हे नाव शोधणे सुरू करूया.
ची ओळ कोड असेल:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
आणि दपूर्ण VBA कोड असेल:
⧭ VBA कोड:
7679
⧭ आउटपुट:
ते $C$7 परत येईल कारण ते खालील सेल C8 पासून शोधण्यास प्रारंभ करते, ते आहे सेल C9 .
याला सेल C13 पर्यंत काहीही सापडत नाही, म्हणून ते पुन्हा सेल C4 पासून सुरू होते आणि सेलमध्ये एक शोधते C7 .
समान वाचन:
- VBA सह स्ट्रिंग कसे शोधावे एक्सेलमध्ये (8 उदाहरणे)
- एक्सेलमध्ये व्हीबीए वापरून अचूक जुळणी शोधा (5 मार्ग)
- व्हीबीए वापरून कसे शोधायचे आणि बदलायचे (11) मार्ग)
4. लूकएट पॅरामीटरसह व्हीबीएमधील फाइंड फंक्शनचा वापर करा (अचूक किंवा आंशिक जुळणीसाठी)
तुम्ही व्हीबीए मध्ये फाइंड फंक्शन वापरू शकता>LookAt पॅरामीटर.
अचूक जुळण्यासाठी LookAt = xlWhole वापरा आणि आंशिक साठी LookAt=xlPart वापरा. जुळवा.
उदाहरणार्थ, पुस्तकाचे नाव स्तंभ ( "ओड" नावाचे कोणतेही पुस्तक आहे का ते शोधण्याचा प्रयत्न करूया>B4:B13 ).
जर आपण कोडच्या ओळीत xlWhole वापरतो:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
आउटपुट त्रुटी दर्शवेल कारण त्याला कोणतीही अचूक जुळणी सापडणार नाही.
परंतु तुम्ही वापरल्यास:
<7 Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
मग ते परत येईल $B$9 , कारण सेलमध्ये “Ode” नावाचे पुस्तक आहे. B7 , Ode to the Nightingale.
तर आंशिक जुळणीसाठी पूर्ण कोडआहे:
⧭ VBA कोड:
3832
5. SearchDirection पॅरामीटरसह व्हीबीएमध्ये फाइंड फंक्शन ऑपरेट करा (शोधाची दिशा निर्दिष्ट करण्यासाठी)
तुम्ही VBA मध्ये फाइंड फंक्शन देखील वापरू शकता SearchDirection parameter.
Top to Bottom शोधण्यासाठी SearchDirection = xlNext वापरा.
आणि SearchDirection = xlPrevious तळापासून ते वर शोधण्यासाठी.
उदाहरणार्थ, लेखक स्तंभातील लेखक एलिफ शफाक शोधण्याचा प्रयत्न करूया. ( C4:C13 ).
जर आपण कोडच्या ओळीत xlNext वापरतो:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
मग ते $C$5 परत येईल.
परंतु तुम्ही वापरत असल्यास:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
मग ते परत येईल $C$11 .
म्हणून खालीपासून वरपर्यंत शोधण्यासाठी पूर्ण कोड आहे:
⧭ VBA कोड:
3982
6. मॅचकेस पॅरामीटरसह VBA मध्ये फंक्शन शोधा (केस-सेन्सिटिव्ह किंवा असंवेदनशील जुळणीसाठी)
शेवटी, तुम्ही मॅचकेस पॅरामीटरसह फाइंड फंक्शन वापरू शकता.
केस-संवेदनशील जुळण्या , आणि साठी MatchCase=False साठी MatchCase = True वापरा केस-संवेदनशील जुळणे.
उदाहरणार्थ, पुस्तकाचे नाव स्तंभ ( B4:B13) मध्ये “आई” पुस्तक शोधण्याचा प्रयत्न करूया ).
जर आम्ही कोडच्या ओळीत True वापरतो:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
आउटपुट त्रुटी दर्शवेल कारण ते होईल' काहीही सापडत नाहीजुळवा.
परंतु तुम्ही वापरल्यास:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
तर ते परत येईल $ B$9 कारण सेल B8 मध्ये “आई” नावाचे पुस्तक आहे.
म्हणून संपूर्ण कोड केस-संवेदनशील जुळणी आहे:
⧭ VBA कोड:
6528
<4 निष्कर्ष
या पद्धतींचा वापर करून, तुम्ही व्हिज्युअल बेसिक अॅप्लिकेशनमधील फाइंड फंक्शन वापरू शकता. तुला काही प्रश्न आहेत का? आम्हाला विचारण्यास मोकळ्या मनाने.