VBA मध्ये फंक्शन शोधा: ते कसे वापरावे?

कसे वापरायचे ते शिकायचे आहे VBA मध्ये फंक्शन शोधा🇧🇷 मग तुम्ही योग्य ठिकाणी आहात!

एक्सेलमधील सर्च हा पर्याय कोणाला माहीत नाही? तुम्ही काही काळ Excel सह काम करत असल्यास, तुम्ही कदाचित तुमच्या संपूर्ण वर्कशीटमध्ये शोधू इच्छित असलेला शब्द किंवा सामग्री शोधण्यासाठी SEARCH फंक्शन किंवा लोकप्रिय Ctrl + L शॉर्टकट की वापरली असेल. संपूर्ण वर्कबुक सारखे.

तसेच, VBA मध्ये आमच्याकडे FIND नावाचे फंक्शन आहे जे आम्हाला आम्ही शोधत असलेले मूल्य शोधण्यात मदत करू शकते.

व्यावहारिक उदाहरणांद्वारे या वैशिष्ट्याबद्दल अधिक जाणून घेण्यासाठी खालील तपशीलांचे अनुसरण करा.

VBA मध्ये FIND फंक्शन कसे कार्य करते?

Excel VBA FIND फंक्शन विशिष्ट श्रेणीमध्ये विशिष्ट मूल्य शोधते. त्या मूल्याची पहिली घटना शोधते, आणि आढळल्यास, फंक्शन त्यात असलेला सेल परत करते. तथापि, कोणतीही जुळणी आढळली नाही तर, फंक्शन काहीही परत करत नाही. VBA FIND फंक्शन अचूक किंवा आंशिक जुळणी देऊ शकते.

उदाहरणार्थ, खालील कोड मजकूर शोधतो "सण पाब्लो» मध्यांतरात ए 1: ए 10 एन «वर्कशीट1🇧🇷

पत्रकांसह("शीट1").श्रेणी("A1:A10")
Rng सेट करा = .शोधा(काय:="साओ पाउलो")

VBA मध्ये FIND फंक्शन वापरण्याचा उद्देश दिलेल्या डेटा सेटमध्ये इच्छित मूल्य शोधणे आहे. VBA कोडसह, आपण Excel मध्ये मूल्ये शोधण्याचे कार्य स्वयंचलित करू शकता.

VBA FIND फंक्शन सिंटॅक्स

VBA FIND फंक्शन सिंटॅक्स खालीलप्रमाणे घोषित केले आहे:

expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

कोठे:

अभिव्यक्ति: रेंज ऑब्जेक्ट आहे, जो VBA कोडमधील FIND फंक्शनच्या आधी आहे. शोध श्रेणी एक किंवा अधिक पंक्ती, स्तंभ किंवा संपूर्ण स्प्रेडशीट असू शकते. VBA FIND फंक्शन खालील वितर्क स्वीकारते:

  • काय हे शोधण्याचे मूल्य आहे. तो संख्यात्मक, मजकूर किंवा इतर कोणताही Excel डेटा प्रकार असू शकतो. हा युक्तिवाद “Find पर्याय” सारखाच आहे.शोधा आणि बदला"एक्सेल वरून.
  • नंतरः ज्या सेलमधून शोध सुरू होईल ते दर्शवते. हे एकल सेल संदर्भ म्हणून प्रविष्ट केले आहे. हा युक्तिवाद वगळल्यास, निर्दिष्ट शोध श्रेणीच्या वरच्या डाव्या कोपऱ्यातील सेल नंतर शोध सुरू होतो.
  • मध्ये पहा: हे स्थान (किंवा डेटा) आहे जेथे मूल्य पाहिले पाहिजे. ती टिप्पणी (xlComments), सूत्र (xlFormulas) किंवा मूल्य (xlValues) असू शकते. या युक्तिवादासाठी डीफॉल्ट मूल्य xlFormulas आहे. तसेच, हा युक्तिवाद “Find पर्याय” सारखाच आहे.शोधा आणि बदला"एक्सेल वरून.
  • दिसत: हा युक्तिवाद संपूर्ण सेल सामग्रीशी (अचूक जुळणी) किंवा सेल सामग्रीचा एक भाग (आंशिक जुळणी) जुळवायचा की नाही हे ठरवतो. अचूक आणि आंशिक जुळण्यांसाठी अनुक्रमे xlWhole आणि xlPart हे स्थिरांक आहेत. या युक्तिवादासाठी डीफॉल्ट मूल्य xlPart आहे.
  • शोध क्रम: हा युक्तिवाद शोध क्रम सूचित करतो. शोध पंक्ती (xlByRows) किंवा स्तंभ (xlByColumns) मध्ये असेल हे तुम्ही निर्दिष्ट करू शकता. या युक्तिवादासाठी डीफॉल्ट मूल्य xlByRows आहे. तसेच, हा युक्तिवाद “Find पर्याय” सारखाच आहे.शोधा आणि बदला"एक्सेल वरून.
  • पत्ता शोधा: शोध केला जाईल तो पत्ता सूचित करते. xlNext स्थिरांकासह तुम्ही खाली किंवा पुढील सेलमध्ये शोधू शकता. वैकल्पिकरित्या, तुम्ही xlPrevious स्थिरांकासह मागे (वर) किंवा मागील सेलमध्ये शोधू शकता. या युक्तिवादासाठी डीफॉल्ट मूल्य xlNext आहे.
  • जुळणी केस: शोध केस सेन्सेटिव्ह असावा की नाही हे हा युक्तिवाद ठरवतो. शोध केस संवेदनशील असल्यास, हा युक्तिवाद सत्य (TRUE) म्हणून निर्दिष्ट केला जातो, अन्यथा तो असत्य (FALSE) असतो. या युक्तिवादासाठी डीफॉल्ट मूल्य असत्य आहे.
  • MatchByte: जर कोणी डबल-बाइट भाषा समर्थन स्थापित केले असेल किंवा निवडले असेल तर हा युक्तिवाद वापरला जावा. दुहेरी-बाइट वर्ण दुहेरी-बाइट वर्णांशी जुळत असल्यास सत्य म्हणून निर्दिष्ट करणे आवश्यक आहे. डबल-बाइट वर्ण त्यांच्या सिंगल-बाइट समतुल्यांशी जुळवायचे असल्यास असत्य म्हणून निर्दिष्ट केले जावे.
  • शोध स्वरूप: शोधायचे मूल्य विशिष्ट फॉरमॅटमध्ये असावे (जसे की ठळक किंवा तिर्यक) किंवा नाही हे सूचित करते. जर लुकअप व्हॅल्यूने फॉरमॅटिंग तंत्राचे पालन केले पाहिजे, तर हा युक्तिवाद सत्य म्हणून निर्दिष्ट केला जातो, अन्यथा असत्य. या युक्तिवादाचे डीफॉल्ट मूल्य असत्य (FALSE) आहे.

फक्त युक्तिवाद काय ते आवश्यक आहे. इतर युक्तिवाद ऐच्छिक आहेत.

FIND फंक्शन खालीलपैकी एक परिणाम देते:

  • जुळणी आढळल्यास, फंक्शन प्रथम सेल परत करते जेथे मूल्य आढळते.
  • कोणतीही जुळणी आढळली नाही तर, फंक्शन काहीही परत करत नाही. हे असे आहे कारण फंक्शन ऑब्जेक्ट काहीही वर सेट केलेले नाही.

वैकल्पिकरित्या, कोणतीही जुळणी न आढळल्यास, द्वारे निर्दिष्ट केलेला सानुकूल संदेश संदेश बॉक्स कार्य परत केले जाऊ शकते (खालील कोड उदाहरणे पहा).

टीप 1: युक्तिवादात निर्दिष्ट केलेल्या सेलनंतर शोध सुरू होतो. नंतर आणि शोध श्रेणीतील शेवटच्या सेलपर्यंत सुरू राहते. या शेवटच्या सेलपर्यंत मूल्य न आढळल्यास, शोध श्रेणीतील पहिल्या सेलपासून युक्तिवादात निर्दिष्ट केलेल्या सेलपर्यंत शोध पुन्हा सुरू होतो. नंतर🇧🇷

म्हणून, वितर्क मध्ये निर्दिष्ट सेल नंतर शोध प्रक्रियेच्या शेवटी त्याचा शोध घेतला जातो. युक्तिवादाच्या वापराबद्दल अधिक तपशीलांसाठी नंतरया लेखातील दुसरे उदाहरण पहा.

टीप 2: प्रत्येक वेळी VBA FIND फंक्शन वापरले जाते, द आत पहा🇧🇷 च्या कडे पहा🇧🇷 शोध क्रम y मॅचबाइट जतन केले जातात. त्यामुळे, पुढील वेळी फंक्शन वापरताना ही मूल्ये वगळली गेली, तर एक्सेल पूर्वी जतन केलेली मूल्ये वापरेल. म्हणून, जेव्हा जेव्हा VBA FIND फंक्शन वापरून शोध केला जातो तेव्हा प्रदान केलेले युक्तिवाद स्पष्टपणे घोषित करण्याची शिफारस केली जाते.

एक्सेल VBA मध्ये FIND फंक्शन कसे वापरावे?

तुम्हाला VBA मधील FIND फंक्शनचा वापर समजून घेण्यासाठी, आम्ही खाली काही व्यावहारिक उदाहरणे वेगळे केली आहेत.

उदाहरण 1: शोध मूल्याच्या पहिल्या घटनेसह सेल निवडणे

या पहिल्या उदाहरणात, समजा तुमच्याकडे खालील चित्रात दाखवल्याप्रमाणे काही नावे असलेली यादी आहे आणि तुम्हाला नाव असलेला सेल ब्राउझ करून निवडायचा आहे. पेड्रो🇧🇷

तेथून, या चरणांचे अनुसरण करा:

1. मार्गदर्शकामध्ये प्रवेश करा विकसक 🇧🇷 व्हिज्युअल बेसिक🇧🇷 (जर तुमच्या एक्सेलमध्ये डेव्हलपर टॅब चालू नसेल तर, येथे तपासा क्रमाक्रमाने).

विकसक मार्गदर्शक

दोन VBA स्क्रीनवर, डावीकडील मेनूमधून इच्छित वर्कशीट निवडा. या उदाहरणात, आपण निवडू वर्कशीट1 जे वर्कशीट आहे ज्यामध्ये नावांची यादी आहे.

3. इच्छित वर्कशीट निवडल्यानंतर, उजवीकडील भागात, खालील कोड प्रविष्ट करा:

शोधलेल्या मूल्याची पहिली घटना असलेला सेल निवडा

उप LocateName()
श्रेणी("A1:A10"). शोधा(What:="Peter").निवडा
समाप्त उप
  • वरील कोडमध्ये लक्षात घ्या की आम्ही शोधत असलेल्या श्रेणीचा उल्लेख केला आहे (ए 1: ए 10🇧🇷
  • श्रेणीचा उल्लेख केल्यानंतर, कालावधी (.) ठेवा आणि टाइप करा शोधणे🇧🇷
  • आमचा पहिला युक्तिवाद आम्ही शोधत आहोत. युक्तिवाद हायलाइट करण्यासाठी, आम्ही युक्तिवाद पास करू शकतो काय:=आपण कोणत्या पॅरामीटरचा संदर्भ घेत आहोत हे ओळखण्यासाठी हे उपयुक्त ठरेल.
  • अंतिम भाग म्हणजे आपल्याला काय करायचे आहे हे शब्द शोधल्यानंतर. आपल्याला शब्द निवडण्याची आवश्यकता आहे, म्हणून युक्तिवाद पास करा .निवडा🇧🇷
  • नंतर की वापरून हा कोड चालवा F5 किंवा नाव असलेला पहिला सेल निवडण्यासाठी खालील चित्रात दाखवल्याप्रमाणे व्यक्तिचलितपणे पेड्रो🇧🇷

VBA मध्ये शोधा

उदाहरण 2: शोध मूल्याची दुसरी घटना असलेला सेल निवडा

या दुसऱ्या उदाहरणामध्ये, खालील प्रतिमेमध्ये A1:A10 श्रेणीतील काही नावे आहेत याची नोंद घ्या. लक्षात घ्या की नाव "पेड्रो” स्तंभ A मध्ये दोनदा दिसते.

दुसऱ्या घटनेसह सेल निवडा

या प्रकरणात, आम्ही शोधू आणि निवडू इच्छितो दुसरी घटना स्तंभ A मधील "पीटर" नावाचे (म्हणजे सेल A7). हे करण्यासाठी आम्ही खालील कोड वापरू:

VBA ची दुसरी घटना शोधा

उप LocateName()
श्रेणी("A1:A10"). शोधा(What:="Peter", After:=Range("A2")).निवडा
समाप्त उप

वरील कोडमध्ये लक्षात घ्या की शोध सेल A2 नंतर सुरू होतो आणि स्तंभ A मधील शेवटच्या सेलपर्यंत चालू राहतो. कारण शोध श्रेणी स्तंभ A (A1:A10) म्हणून निर्दिष्ट केली होती.

तर, सेल A3 मध्ये शोध सुरू झाल्यापासून, मूल्य “पेड्रो” सेलमध्ये आहे A7 देते "स्प्रेडशीट2🇧🇷 म्हणून, कोड कार्यान्वित करताना सेल A7 FIND फंक्शनद्वारे निवडला जाईल.

जर नाव «पेड्रोकॉलम A मधील शेवटच्या सेलपर्यंत सेल A3 मध्ये आढळले नव्हते, शोध पुन्हा सेल A1 पासून सुरू होईल आणि यावेळी सेल A2 वर समाप्त होईल. म्हणून, वितर्क मध्ये निर्दिष्ट सेल "नंतरशोध प्रक्रियेच्या शेवटी उजवीकडे शोधले जाते.

उदाहरण 3: मजकूर त्यातील काही वर्ण निर्दिष्ट करून शोधा

मजकूराचा फक्त एक भाग निर्दिष्ट करून शोधण्यासाठी, युक्तिवाद प्रविष्ट करा च्या कडे पहा कसे xlभाग किंवा हा युक्तिवाद वगळा. डीफॉल्टनुसार, FIND फंक्शन संपूर्ण स्ट्रिंगच्या विरूद्ध शोध मूल्यातील वर्णांशी जुळते. त्यानंतर ही संपूर्ण स्ट्रिंग असलेला सेल परत करतो.

खालील उदाहरण पहा:

उप LocateName()
श्रेणी("A1:A10").शोधा(What:="Ped", LookAt:=xlPart).निवडा
समाप्त उप

हा कोड वर्ण शोधतो "पेड"Sheet1" च्या A25:A3 श्रेणीमध्ये. मूल्य असलेला सेल परत केला जातो, ज्याला नाव दिले जाते आंशिक पत्रव्यवहार🇧🇷 म्हणून, शोध मूल्य वर्ण स्ट्रिंगच्या सुरूवातीस, मध्यभागी किंवा शेवटी ठेवलेले असले तरीही, Excel VBA जुळणी परत करते.

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

उदाहरण ४: टिप्पणीमध्‍ये मजकूर शोधणे

तुम्ही Excel मध्ये सेल टिप्पणीमध्‍ये मजकूर शोधण्‍यासाठी VBA FIND फंक्शन देखील वापरू शकता.

अधिक चांगल्या प्रकारे समजून घेण्यासाठी, खाली दिलेल्या उदाहरणावर एक नजर टाका जिथे आमच्याकडे एक वर्कशीट आहे ज्यामध्ये टिप्पण्यांसह तीन सेल आहेत (लाल त्रिकोणांद्वारे दर्शविलेले). यातून आपल्याला मजकूर शोधायचा आहे “कमिशन दिले” टिप्पण्यांपैकी एकामध्ये स्थित आहे. या प्रकरणात, आम्ही खालील कोड वापरू:

Sub LocateComment()
श्रेणी("A1:B10"). शोधा(What:="Commission Pays", LookIn:=xlComments).निवडा
समाप्त उप

टिप्पणीमध्ये मजकूर शोधा

परिणामी, एक्सेल फक्त तो सेल निवडेल ज्यात टिप्पणी असेल ज्याचा मजकूर आमच्या कोडमध्ये निर्दिष्ट केला आहे.

उदाहरण 5: VBA मधील FIND फंक्शनमध्ये त्रुटी हाताळणे

आम्ही शोधत असलेला मजकूर दिलेल्या श्रेणीमध्ये नसल्यास, VBA खाली दर्शविल्याप्रमाणे त्रुटी देईल:

त्रुटी 91

ही त्रुटी टाळण्यासाठी, आम्ही खाली दर्शविल्याप्रमाणे कोड वापरू शकतो:

उप LocateName()
प्रकार म्हणून अंधुक परिणाम

त्रुटी पुन्हा सुरू करा पुढील
श्रेणी("A1:A10").शोधा(What:="क्रिस्टीना").निवडा
एरर GoTo 0 वर

परिणाम = ActiveCell.Value

जर परिणाम = "" तर
MsgBox "आपण शोधत असलेले मूल्य प्रदान केलेल्या श्रेणीमध्ये उपलब्ध नाही!"
निर्गमन उप
शेवट तर

समाप्त उप

वरील कोडमध्ये लक्षात घ्या की जर VBA ला मूल्य सापडले तर ते सापडलेले मूल्य प्रदर्शित करेल, अन्यथा तो संदेश "म्हणून प्रदर्शित करेल.तुम्ही शोधत असलेले मूल्य दिलेल्या श्रेणीमध्ये उपलब्ध नाही🇧🇷

VBA त्रुटींचे निराकरण कसे करावे यावरील अधिक टिपांसाठी, लेख पहा: एक्सेल VBA त्रुटी: आपल्याला माहित असणे आवश्यक आहे!

लक्षात ठेवण्यासाठी तपशील

  • FIND फंक्शन हे RANGE गुणधर्माचा भाग आहे आणि तुम्ही फक्त श्रेणी निवडल्यानंतर FIND वापरावे.
  • FIND फंक्शनमध्ये, पहिला युक्तिवाद (काय), तसेच इतर सर्व काही ऐच्छिक आहे.
  • तुम्हाला विशिष्ट सेलनंतर मूल्य आढळल्यास, तुम्ही पॅरामीटरमध्ये सेलचा उल्लेख करू शकता नंतर शोध वाक्यरचना.

स्प्रेडशीट येथे डाउनलोड करा या ट्युटोरियलमध्ये सादर केलेली उदाहरणे.

खालील एक्सेल टिप्स देखील पहा:

तर VBA मधील FIND फंक्शनबद्दल तुम्हाला काय वाटते? आपल्याला काही प्रश्न असल्यास, खाली आपली टिप्पणी द्या. आमच्या वेबसाइटवर अधिक एक्सेल आणि व्हीबीए टिपा देखील पहा!

टॉमी बँका
तुमचे मत ऐकून आम्हाला आनंद होईल

प्रतिक्रिया द्या

टेक्नोब्रेक | ऑफर आणि पुनरावलोकने
लोगो
सेटिंग्जमध्ये नोंदणी सक्षम करा - सामान्य
शॉपिंग कार्ट