विषयसूची
सबसे महत्वपूर्ण और व्यापक रूप से उपयोग किए जाने वाले कार्यों में से एक जिसका उपयोग हम विजुअल बेसिक एप्लिकेशन (वीबीए) में करते हैं, वह फाइंड फ़ंक्शन है। इस लेख में, मैं आपको दिखाऊंगा कि आप एक्सेल के FIND फ़ंक्शन का उपयोग उचित उदाहरणों और चित्रों के साथ कैसे कर सकते हैं।
अभ्यास कार्यपुस्तिका डाउनलोड करें
<6 Excel.xlsm में VBA में फ़ंक्शन ढूंढें
VBA में फ़ाइंड फ़ंक्शन का उपयोग करने के 6 त्वरित उदाहरण
यहां हमने मार्टिन बुकस्टोर नामक एक किताबों की दुकान की कुछ पुस्तकों के पुस्तकों के नाम, लेखक और कीमतों के साथ एक डेटा सेट मिला।
आज हमारा उद्देश्य इस डेटा सेट से VBA के Find function के विभिन्न प्रकार के उपयोगों को देखना है।
1। वीबीए में बिना किसी पैरामीटर के फाइंड फंक्शन का इस्तेमाल करें
आप बिना किसी पैरामीटर के वीबीए के फाइंड फंक्शन का इस्तेमाल कर सकते हैं।
फिर यह कक्षों की एक श्रेणी के भीतर एक विशिष्ट मान की खोज करेगा और जो पहला मिलान मिलेगा उसे लौटाएगा।
चलिए नाम की खोज करते हैं “P. बी. शेल्ली" कॉलम लेखक ( C4:C13 ) में।
Find function वाली लाइन होगी:
Set cell = Range("C4:C17").Find("P. B. Shelly")
पूरा VBA कोड होगा:
⧭ VBA कोड:
6366
⧭ आउटपुट:
यह एक पैदा करता है मैक्रो को ढूंढें कहा जाता है। यदि आप मैक्रो चलाते हैं, तो यह $C$6 लौटाएगा, पहला सेल पता P नाम के साथ। बी. शेली .
और पढ़ें: में VBA के साथ एक सीमा के भीतर खोजेंएक्सेल: सटीक और आंशिक मिलान सहित
2. आफ्टर पैरामीटर के साथ VBA में फाइंड फंक्शन लागू करें (किसी विशिष्ट सेल से खोजना शुरू करने के लिए)
आप फंक्शन फंक्शन के साथ बाद पैरामीटर का उपयोग कर सकते हैं वीबीए में। फिर यह एक श्रेणी के भीतर एक सेल के नीचे से एक मूल्य खोजना शुरू कर देगा।
उदाहरण के लिए, आइए “P. बी. शेली” नीचे सेल से C6 ।
कोड की लाइन होगी:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
और पूरा VBA कोड होगा:
⧭ VBA कोड:
5435
⧭ आउटपुट:
यह $C$13 लौटाएगा क्योंकि यह सेल C6 के नीचे से खोजना शुरू करता है, वह सेल C7 से है। तो यह P हो जाता है। B. शेली पहले सेल C13 में।
और पढ़ें: एक में स्ट्रिंग कैसे खोजें Excel में VBA का उपयोग करने वाला कक्ष
3. आफ्टर पैरामीटर के चारों ओर रैपिंग के साथ VBA में फाइंड फंक्शन रन करें (गोलाकार तरीके से वैल्यू सर्च करने के लिए)
फाइंड फंक्शन<2 के साथ बाद पैरामीटर> गोलाकार तरीके से मान की खोज करता है
अर्थात्, यह एक श्रेणी के भीतर सेल के नीचे से खोजना शुरू करता है, श्रेणी में खोज समाप्त करता है, और फिर से सीमा के ऊपर से शुरू करता है।
उदाहरण के लिए, बाद पैरामीटर का उपयोग करके "जॉन कीट्स" नीचे सेल C8 से नाम खोजना शुरू करें।
की लाइन कोड होगा:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
औरपूरा VBA कोड होगा:
⧭ VBA कोड:
7492
⧭ आउटपुट:
यह $C$7 लौटाएगा क्योंकि यह सेल C8 के नीचे से खोजना शुरू करता है, जो कि से है सेल C9 ।
यह सेल C13 तक कुछ भी नहीं खोजता है, इसलिए यह फिर से सेल C4 से शुरू होता है और सेल में एक पाता है C7 ।
समान रीडिंग:
- VBA के साथ स्ट्रिंग कैसे खोजें Excel में (8 उदाहरण)
- Excel में VBA का उपयोग करके सटीक मिलान खोजें (5 तरीके)
- VBA का उपयोग करके कैसे खोजें और बदलें (11) तरीके)
4. लुकएट पैरामीटर (सटीक या आंशिक मिलान के लिए) के साथ VBA में फाइंड फंक्शन का उपयोग करें
आप फाइंड फंक्शन का उपयोग VBA में <1 के साथ कर सकते हैं>LookAt पैरामीटर।
सटीक मिलान के लिए LookAt = xlWhole का उपयोग करें, और आंशिक के लिए LookAt=xlPart का उपयोग करें मैच।
उदाहरण के लिए, पुस्तक का नाम कॉलम (<1) में "ओडे" नाम की कोई किताब है या नहीं, यह पता लगाने की कोशिश करते हैं>B4:B13 ).
अगर हम कोड की लाइन में xlWhole इस्तेमाल करते हैं:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
आउटपुट एक त्रुटि दिखाएगा क्योंकि यह कोई सटीक मिलान नहीं खोजेगा।
लेकिन यदि आप इसका उपयोग करते हैं:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
फिर यह वापस आ जाएगा $B$9 , क्योंकि इसमें सेल में “Ode” नाम की एक किताब है B7 , कोकिला के लिए स्तोत्र।
तो आंशिक मैच के लिए पूरा कोडहै:
⧭ वीबीए कोड:
4698
5। SearchDirection Parameter (खोज की दिशा निर्दिष्ट करने के लिए) के साथ VBA में Find Function को संचालित करें
आप FIND Function का उपयोग VBA के साथ भी कर सकते हैं। SearchDirection पैरामीटर।
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 ।
तो खोज के लिए पूरा कोड नीचे से ऊपर है:
⧭ वीबीए कोड:
9172
6। मैचकेस पैरामीटर के साथ वीबीए में फ़ंक्शन खोजें (केस-सेंसिटिव या असंवेदनशील मैच के लिए)
अंत में, आप फ़ंड फ़ंक्शन का उपयोग मैचकेस पैरामीटर के साथ कर सकते हैं।
केस-संवेदी मिलान , और 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 में "Mother" नाम की एक किताब है।
तो इसके लिए पूरा कोड केस-इनसेंसिटिव मैच है:
⧭ VBA कोड:
8436
<4 निष्कर्ष
इन विधियों का उपयोग करके, आप विजुअल बेसिक एप्लिकेशन में फाइंड फंक्शन का उपयोग कर सकते हैं। क्या आपका कोई प्रश्न है? बेझिझक हमसे पूछें।