आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

Vlookup एक्सेल के भीतर एक आवश्यक कार्य है और डेटा प्रोसेसिंग का एक महत्वपूर्ण हिस्सा बन गया है। यह कुछ ऐसी कार्यक्षमता प्रदान करता है जिसे आप आमतौर पर पूर्ण विकसित डेटाबेस से जोड़ सकते हैं।

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

Vlookup का सिंटेक्स

Vlookup फ़ंक्शन का सिंटैक्स काफी सरल है, लेकिन इसके चार पहलू हैं जिन पर आपको ध्यान देना चाहिए, भले ही इसे Excel VBA में स्वचालित करते समय।

= vlookup (लुकअप_वैल्यू, लुकअप_एरे, कॉलम_इंडेक्स, सटीक_मैच / आंशिक_मैच)

फ़ंक्शन के तर्कों के निम्नलिखित अर्थ हैं:

  • पता लगाने का मूल्य: यह प्राथमिक मान है जिसे आप लुकअप ऐरे से देखना चाहते हैं।
  • लुकअप_सरणी: यह स्रोत डेटा है, जिसे lookup_value संदर्भ के रूप में उपयोग करेगा.
  • column_index: मान वापस करने के लिए कॉलम।
  • सटीक_मैच/आंशिक_मैच: मिलान प्रकार निर्धारित करने के लिए या तो 0 या 1 का उपयोग करें।

डेटा तैयारी

इस डेटासेट के दो भाग होते हैं: एक लुकअप टेबल और डेस्टिनेशन डेटा पॉइंट।

लुकअप तालिका में उप-श्रेणी और उत्पाद नाम फ़ील्ड को पॉप्युलेट करने वाले डेटा के साथ तीन कॉलम होते हैं:

डेस्टिनेशन टेबल में मैचिंग कॉलम हैं, जिसमें कोई उप-श्रेणी या उत्पाद नाम डेटा नहीं है। ध्यान दें कि इसके ऑर्डर आईडी कॉलम के मान भी लुकअप टेबल के उसी कॉलम में मौजूद हैं:

एक्सेल स्प्रेडशीट में सीधे वीलुकअप का उपयोग करना

गंतव्य कॉलम, बी और सी भरने के लिए, आप कर सकते हैं एक्सेल के वीलुकअप फ़ंक्शन का उपयोग करें.

सेल में बी 2, निम्न सूत्र दर्ज करें:

= वी लुकअप ($A2, $ एफ$3:$ एच$17, 2, 0)

इसी तरह, सेल में सी2, यह सूत्र दर्ज करें:

= वी लुकअप ($A2, $ एफ$3:$ एच$17, 3, 0)

आप सूत्र को कक्ष B2 से स्तंभ के अंत, B17 तक नीचे खींच सकते हैं। इस प्रक्रिया को कॉलम सी के लिए भी दोहराएं। प्रत्येक अनुवर्ती प्रविष्टि के मान दोनों स्तंभों में स्वचालित रूप से अपडेट हो जाएंगे।

आप vlookup फ़ंक्शन में जो मान पास करते हैं वे हैं:

  • ए2: लुकअप वैल्यू इस सेल में है।
  • F3:H17: इसमें लुकअप रेंज शामिल है।
  • 2/3: वे संदर्भ स्तंभ जिनसे मान प्राप्त करना है.
  • 0: एक सटीक मिलान दर्शाता है।

एक्सेल VBA का Vlookup फंक्शन

Vlookup फ़ंक्शन में कई समानताएँ हैं चाहे आप इसे सीधे Excel में उपयोग कर रहे हों या VBA के माध्यम से। चाहे आप डेटा की पंक्तियों से निपटने वाले डेटा विश्लेषक हों, या नियमित रूप से नए उत्पादों से निपटने वाले इन्वेंट्री मैनेजर हों, आप वीलुकअप का उपयोग करके लाभ उठा सकते हैं।

डायनेमिक लुक-अप रेंज के साथ काम करते समय, एक्सेल में बार-बार फॉर्मूला लागू करने से बचने के लिए, अपने फॉर्मूलों को स्वचालित करना हमेशा सबसे अच्छा होता है। वीबीए में अपने वीलुकअप फ़ंक्शन को स्वचालित करके, आप एक क्लिक के साथ बहु-स्तंभ गणना कर सकते हैं।

1. आवश्यक सेटअप करें

कोडिंग संपादक खोलकर प्रारंभ करें (प्रेस ऑल्ट + F11 या नेविगेट करें डेवलपर टैब) एक नई एक्सेल कार्यपुस्तिका में और अपना कोड लिखना शुरू करने के लिए एक मॉड्यूल जोड़ें। कोड संपादक के भीतर, उप-दिनचर्या बनाने के लिए कोडिंग विंडो के शीर्ष पर निम्न पंक्तियां जोड़ें:

 उप vlookup_fn1 () अंत उप

उप-दिनचर्या आपके VBA कोड के लिए एक कंटेनर है और इसे सफलतापूर्वक चलाने के लिए महत्वपूर्ण है। करने का विकल्प है एक VBA उपयोगकर्ता प्रपत्र बनाएँ अपने यूआई को और अधिक इंटरैक्टिव बनाने के लिए।

2. अपने वेरिएबल्स की घोषणा करें और अपनी रेफरेंस रेंज बनाएं

सबसे पहले, आपको चर डेटा प्रकार का उपयोग करके घोषित करने की आवश्यकता है धुंधला कथन:

 i को पूर्णांक के रूप में मंद करें, लंबे समय तक टिके रहें

अगला, एक बनाएँ अंतिम पंक्ति वेरिएबल, आपकी लुकअप रेंज के भीतर अंतिम आबादी वाली पंक्ति के मान को स्टोर करने के लिए। लास्ट्रो फ़ंक्शन का उपयोग करता है अंत (एक्सएलडाउन) निर्दिष्ट सीमा के भीतर अंत पंक्ति संदर्भ की गणना करने के लिए कार्य करें।

इस स्थिति में, lastrow चर लुकअप श्रेणी के अंतिम पॉप्यूलेट पंक्ति मान को संग्रहीत करता है,17.

 lastrow = शीट्स ("शीट2")। रेंज ("F3")। अंत (xlडाउन)। पंक्ति

उपरोक्त उदाहरण में, गंतव्य तालिका से फैली हुई है ए2:सी17, जबकि स्रोत तालिका से फैली हुई है F2:H17. Vlookup सूत्र स्तंभ A के भीतर संग्रहीत प्रत्येक मान के माध्यम से लूप करेगा, इसे स्रोत तालिका के भीतर देखें, और मिलान प्रविष्टियों को कॉलम B और C में पेस्ट करें।

हालाँकि, लूप पर कूदने से पहले, आपको रेंज वैल्यू को एक नए वेरिएबल के भीतर स्टोर करना होगा (my_range), निम्नलिखित नुसार:

 my_range = शीट्स ("शीट2")। रेंज ("F3:H" और लास्ट्रो)

आपको प्रारंभिक सेल संदर्भ को स्पष्ट रूप से परिभाषित करना होगा (F3) और अंत स्तंभ संदर्भ (एच). लुकअप सरणी को पूरा करने के लिए वीबीए स्वचालित रूप से पंक्ति मान जोड़ता है।

3. प्रत्येक लुकअप मान के माध्यम से चक्रित करने के लिए एक लूप लिखें

लूप लिखने से पहले, प्रारंभिक पंक्ति मान को परिभाषित करें, 2. अपने पाश के लिए प्रारंभिक मान को परिभाषित करना आवश्यक है क्योंकि आप गतिशील तत्वों से निपट रहे हैं। गंतव्य तालिका में, पंक्ति 2 डेटा की पहली पंक्ति है। यदि आपका डेटा किसी भिन्न पंक्ति में प्रारंभ होता है तो इस मान को बदलें।

 मैं = 2

आप ए का उपयोग कर सकते हैं जबकि ऐसा लूप प्रत्येक पंक्ति को संसाधित करने के लिए, पंक्ति 2 से शुरू होकर पंक्ति 17 पर समाप्त होता है। बाकी कोड की तरह, यह पहलू गतिशील है; लूप तब तक चलेगा जब तक कि कंडीशन झूठी नहीं है। वर्तमान पंक्ति के पहले सेल में गैर-खाली मान की जाँच करने के लिए शर्त का उपयोग करें।

 डू व्हाइल लेन (शीट्स("शीट2"). सेल (i, 1).वैल्यू) <> 0

लूप के अंदर, आप कक्षों को पॉप्युलेट करने के लिए VLookup फ़ंक्शन को कॉल कर सकते हैं:

 शीट्स ("शीट2")। सेल (i, 2)। वैल्यू = _ एप्लीकेशन। कार्यपत्रक समारोह। वीलुकअप (शीट्स ("शीट2") _। सेल (i, 1)। वैल्यू, माय_रेंज, 2, फाल्स) शीट्स ("शीट2")। सेल (i, 3)। वैल्यू = _ एप्लीकेशन। कार्यपत्रक समारोह। वीलुकअप (शीट्स ("शीट2") _। सेल (i, 1)। वैल्यू, माय_रेंज, 3, गलत)

ये कथन क्रमशः कॉलम 2 और 3 में वर्तमान पंक्ति में कोशिकाओं का मान निर्धारित करते हैं। वे उपयोग करते हैं कार्यपत्रक समारोह कॉल करने के लिए आपत्ति वीलुकअप फ़ंक्शन, खोज करने के लिए कॉलम 1 से संबंधित मान पास करना। वे उस श्रेणी को भी पास करते हैं जिसे आपने पहले परिभाषित किया था और अंतिम मान प्राप्त करने के लिए प्रासंगिक कॉलम की अनुक्रमणिका।

Vlookup कोड तैयार है, लेकिन फिर भी आपको लूप के चारों ओर हर बार पंक्ति चर बढ़ाने की आवश्यकता है:

 मैं = मैं + 1

हर बार लूप चलता है, यह का मान बढ़ाता है मैं द्वारा 1. याद रखें, प्रारंभिक पंक्ति मान 2 है, और हर बार लूप चलने पर वेतन वृद्धि होती है। उपयोग कुंडली लूप के कोड ब्लॉक के अंत को सेट करने के लिए कीवर्ड।

जब आप संपूर्ण कोड चलाते हैं, तो यह स्रोत तालिका में मानों के आधार पर, दोनों स्तंभों में परिणाम पॉप्युलेट करेगा।

यहाँ संदर्भ के लिए पूरा कोड है:

 Sub vlookup_fn1() Dim i As Integer lastrow = Sheets("Sheet2").Range("F3").End (xlDown).Row my_range = Sheets("Sheet2").Range("F3:H" & lastrow) i = 2 डू व्हाइल लेन (शीट्स ("शीट2")। सेल (i, 1)। वैल्यू) <> 0 ऑन एरर रिज्यूमे नेक्स्ट शीट्स ("शीट2")। सेल (i, 2)। वैल्यू = _ आवेदन पत्र। कार्यपत्रक समारोह। वीलुकअप (शीट्स ("शीट2") _। सेल (i, 1)। वैल्यू, माय_रेंज, 2, फाल्स) शीट्स ("शीट2")। सेल (i, 3)। वैल्यू = _ एप्लीकेशन। कार्यपत्रक समारोह। VLookup (शीट्स ("शीट 2") _। सेल (i, 1)। वैल्यू, माय_रेंज, 3, गलत) i = i + 1 लूपएंड सब

4. कोड चलाने के लिए एक बटन बनाएँ

कोड के साथ, आप इसे एक क्लिक के साथ चलाने के लिए अपनी एक्सेल कार्यपुस्तिका में एक बटन बना सकते हैं। एक खाली एक्सेल शीट पर अपना पसंदीदा आकार डालें, उस पर राइट-क्लिक करें और पर क्लिक करें मैक्रो असाइन करें विकल्प।

संवाद बॉक्स के भीतर, अपनी उप-दिनचर्या का नाम चुनें, और पर क्लिक करें ठीक.

जब आप अपना कोड चलाना चाहते हैं, तो यह देखने के लिए बटन क्लिक करें कि डेटा तुरंत कैसे पॉप्युलेट होता है।

लुकअप कार्यों को स्वचालित करने के लिए एक्सेल वीबीए का उपयोग करना

एक्सेल वीबीए एक लचीली भाषा है, जो एमएस एक्सेल के विभिन्न पहलुओं के भीतर स्वचालन को आसान बनाने की दिशा में अच्छी तरह से तैयार है। एमएस एक्सेल वीबीए में कई विकल्प मौजूद हैं, एक्सेल कार्यों को स्वचालित करने से लेकर स्वचालित रूप से विस्तृत पिवट टेबल बनाने तक।

विभिन्न एक्सेल सेगमेंट के साथ काम करते समय, आप अपने जीवन को आसान और अधिक कुशल बनाने के लिए विभिन्न विकल्पों के साथ प्रयोग कर सकते हैं।