VBA खोजें फ़ंक्शन - VBA फाइंड फंक्शन का उपयोग कैसे करें? (उदाहरण)

विषय - सूची

एक्सेल VBA ढूँढें

जब हम सामान्य वर्कशीट में फाइंड का उपयोग करते हैं तो हम कीबोर्ड शॉर्टकट CTRL + F दबाते हैं और हमें जिस डेटा को ढूंढना होता है उसे टाइप करते हैं और यदि वांछित मूल्य नहीं है तो हम अगले मैच में जाते हैं, अगर इस तरह के बहुत सारे मैच होते हैं तो यह एक कठिन काम है लेकिन जब हम VBA में FIND का उपयोग करते हैं, यह हमारे लिए कार्य करता है और हमें सटीक मिलान देता है और इसमें तीन तर्क लगते हैं, एक है क्या ढूंढना है, कहां खोजना है और कहां देखना है।

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

जब हम इस पर क्लिक करते हैं, तो हमें दो विकल्प मिलते हैं;

एक खोजने के लिए सरल है,

हम देख सकते हैं कि इसमें कई विकल्प हैं जो एक और सुविधा को खोलता है।

यह चार बाधाओं के साथ एल्गोरिथ्म का पता लगाता है, खोजें क्या, भीतर, खोज, और अंदर देखो।

एक्सेल में दूसरा विकल्प यह है कि हम एक स्ट्रिंग को ढूंढने पर उसका उपयोग करें और प्रतिस्थापित करें, लेकिन इसे किसी अन्य मान के साथ बदलने के लिए,

फ़ंक्शन सिंटैक्स ढूंढें

बेसिक एक्सेल में फाइंड क्या है, यह हम ऊपर जान चुके हैं। VBA में, हम मैन्युअल रूप से कोड लिखते हैं, लेकिन सुविधाएँ सामान्य एक्सेल के समान हैं। सबसे पहले, हम सिंटैक्स को देखते हैं।

अभिव्यक्ति .ind (क्या, दिख रहा है, …)

यदि हम जो मान देख रहे हैं, वह एक्सेल फ़ंक्शन के साथ पाया जाता है, तो यह वह सेल लौटाता है जहाँ मान होता है, और यदि मान नहीं मिलता है, तो फ़ंक्शन का ऑब्जेक्ट कुछ भी नहीं है।

मैक्रोज़ में अभिव्यक्तियां श्रेणी परिभाषित की जाती हैं, जैसे कि रेंज 1 या रेंज 2. हम एक विशिष्ट मूल्य के लिए क्या खोजना चाहते हैं, इसके लिए एक कीवर्ड क्या है? लुकइन एक कीवर्ड है जिसे हम खोजने की कोशिश कर रहे हैं, क्या यह एक टिप्पणी या एक सूत्र या एक स्ट्रिंग है। इसी तरह, फाइंड फ़ंक्शन में अन्य बाधाएं हैं, जो वैकल्पिक हैं। केवल अनिवार्य फ़ील्ड की आवश्यकता है जो एक मूल्य है जिसे हम खोजने की कोशिश कर रहे हैं।

असल में, VBA को लगता है कि एक्सेल के पास एक आवश्यक तर्क है, यही वह मूल्य है जिसे हम खोजना चाहते हैं। बाकी बाधाएँ वैकल्पिक हैं, और फ़ंक्शन खोजने में कई बाधाएँ हैं। खोजें फ़ंक्शन एक्सेल में एक खोज फ़ंक्शन के समान है।

खोज फ़ंक्शन के लिए पैरामीटर कोशिकाओं की श्रेणी है, जैसे हम किस श्रेणी में मान प्राप्त करना चाहते हैं। यह कुछ कॉलम या कुछ सेल या पूरी वर्कशीट हो सकती है।

उदाहरण

उदाहरण 1

मान लीजिए कि हमारे डेटा में निम्नलिखित मान हैं

हम एक ही डेटा में "अरण" खोजने की कोशिश करेंगे।

  • VBA कोड लिखने के लिए, VBA कोड लिखने में सक्षम होने के लिए एक्सेल में डेवलपर टैब को सक्षम करना आवश्यक है।
  • हम निम्नलिखित कोड लिखकर अपना कोड लिखना शुरू करते हैं, जैसा कि नीचे दिखाया गया है,
सब सैंपल ()
डिमफिंड्स ऐज स्ट्रिंग
डिम
रींग एज़ रेंज फाइंड = इनपुटबॉक्स ("वह मूल्य दर्ज करें जिसे आप खोजना चाहते हैं")
शीट्स ("शीट 1") के साथ ।रेंज ("ए: ए")।
  • नमूना उप को दिया गया फ़ंक्शन नाम है।
  • खोजें वह स्ट्रिंग है जिसे हम उस उपयोगकर्ता को चाहते हैं जिसे हम खोजना चाहते हैं।
  • Rng वह वैरिएबल है जिसे हमने रेंज के लिए लिया था।
  • अब हम उपयोगकर्ता से नीचे स्क्रीनशॉट की तरह दिखने वाले मूल्य को दर्ज करने के लिए कहते हैं,
  • अब हम मॉड्यूल में अपने खोज फ़ंक्शन को परिभाषित करेंगे।
  • फ़ंक्शन दिए गए रेंज में उपयोगकर्ता द्वारा दर्ज किए गए मान को पाता है।
  • अब हम निम्न तर्कों द्वारा फ़ंक्शन को बंद करते हैं।
  • अब, यदि हम पहले अपना कोड चलाते हैं, तो यह उपयोगकर्ता द्वारा मूल्य के लिए संकेत देता है।
  • एक बार कोड पूरा हो जाने के बाद, यह उस सेल को लौटा देता है जहां डेटा मिला था।

उदाहरण # 2

उपरोक्त उदाहरण में, चार अद्वितीय नाम थे, लेकिन क्या होगा यदि डेटा में एक से अधिक नाम थे, जैसे नीचे दिए गए डेटा पर विचार करें,

हम देख सकते हैं कि उपरोक्त डेटा में एरन नाम दो बार दोहराया गया है। यदि एक्सेल को अरण नाम ढूंढना है, तो यह सेल A2 में मिल जाएगा और बंद हो जाएगा, लेकिन सेल A6 में A2 के समान एक और मूल्य है। उस मूल्य को कैसे प्राप्त करें? यहां मदद में फाइंड (क्या, आफ्टर) का सिंटैक्स आता है।

सेल को परिभाषित करने के बाद, किस संदर्भ में, हम डेटा को खोजना चाहते हैं।

हमें उपरोक्त डेटा के लिए कोड लिखना चाहिए।

  • हमेशा डेवलपर टैब को विकल्पों में से सक्षम करने और फिर एक्सेल में रिबन को कस्टमाइज़ करने से लेकर VBA में कोड लिखने में सक्षम होना याद रखें।
  • VBA में, हमें Microsoft एक्सेल ऑब्जेक्ट्स मिलते हैं, जो एक मॉड्यूल है जहां हम कोड लिखते हैं।
  • पहले हम शीट 1 पर काम कर रहे थे; अब, हम शीट 2 पर काम कर रहे हैं, इसलिए दूसरे मॉड्यूल के लिए शीट 2 का चयन करें, और एक खाली पृष्ठ दिखाई देता है।
  • अब फ़ंक्शन को पहले SUB नमूना 2 () के रूप में परिभाषित करके कोड लिखना शुरू करें और एंटर दबाएं।
  • अब हमने अपने कार्य को परिभाषित किया है; हम मुख्य भाग में जाने लगेंगे, जो हमारे चरों को परिभाषित कर रहा है।
  • परिभाषित करें कि क्या परिवर्तनशील चर होना चाहिए,
  • उन शीटों का चयन करें जिन पर हम काम कर रहे हैं, जो इस उदाहरण में शीट 2 है,
  • अब हम A2 सेल के बाद उपयोगकर्ता को जो कुछ भी दर्ज करते हैं, वह टेक्स्ट मिल जाएगा, इसलिए हम अपने खोज फ़ंक्शन को नीचे के रूप में परिभाषित करते हैं,
  • अब हम और यदि शर्तों को समाप्त करके कोड बंद करते हैं।

उपरोक्त कोड क्या करता है सेल A2 के बाद स्ट्रिंग की खोज करें और जहां भी पाया जाए सेल वापस कर दें।

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

  1. सबसे पहले सबसे पहले, हमें VBA का उपयोग करने के लिए डेवलपर टैब को सक्षम करना होगा।
  2. हमें खोजने के लिए विशिष्ट मूल्य क्या है?
  3. यदि मान नहीं मिला है, तो फ़ंक्शन का ऑब्जेक्ट कुछ भी नहीं पर सेट है।

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