VBA मैच - VBA एक्सेल में मैच फंक्शन का उपयोग कैसे करें? (उदाहरण)

विषय - सूची

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

VBA मैच फ़ंक्शन

VBA मैच फ़ंक्शन तालिका सरणी में लुकअप मान की स्थिति या पंक्ति संख्या, यानी मुख्य एक्सेल तालिका में दिखता है।

एक वर्कशीट में, लुकअप फ़ंक्शन एक्सेल का एक अभिन्न हिस्सा हैं। कुछ महत्वपूर्ण लुकअप फ़ंक्शन VLOOKUP, HLOOKUP, INDEX और MATCH हैं। दुर्भाग्य से, हमारे पास ये कार्य VBA फ़ंक्शन के रूप में नहीं हैं। हालाँकि, हम उन्हें VBA में कार्यपत्रक कार्यों के रूप में उपयोग कर सकते हैं।

इस लेख में, मैं आपको एक वर्कशीट लुकअप फंक्शन MATCH का उपयोग VBA में वर्कशीट फंक्शन के रूप में करने के लिए दिखाऊँगा।

VBA Excel में MATCH फ़ंक्शन का उपयोग कैसे करें?

हम आपको VBA में Excel MATCH फ़ंक्शन का उपयोग करने का एक सरल उदाहरण दिखाएंगे।

उदाहरण 1

VBA में, हम इस MATCH फॉर्मूला को वर्कशीट फ़ंक्शन के रूप में एक्सेल में उपयोग कर सकते हैं। VBA में MATCH फ़ंक्शन का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: एक मैक्रो नाम देकर एक उपप्रकार बनाएँ।

कोड:

उप मिलान_ नमूना 1 ()

चरण 2: ई 2 सेल में, हमें परिणाम की आवश्यकता है, इसलिए कोड को रेंज ("ई 2") के रूप में शुरू करें। मूल्य =

कोड:

उप माच_Example1 () रेंज ("E2")। मान = अंत उप

चरण 3: E2 में सेल वैल्यू MATCH फॉर्मूला का परिणाम होना चाहिए। इसलिए VBA MATCH फ़ंक्शन को एक्सेस करने के लिए, हमें पहले "WorksheetFunction" संपत्ति का उपयोग करने की आवश्यकता है। इस संपत्ति में, हम सभी उपलब्ध वर्कशीट फ़ंक्शन सूची प्राप्त करेंगे।

चरण 4: यहां MATCH फ़ंक्शन का चयन करें।

कोड:

उप माच_Example1 () रेंज ("E2")। मान = WorksheetFunction.Match (अंतिम उप

चरण 5: अब, समस्या शुरू होती है क्योंकि हमें सटीक सिंटैक्स नाम नहीं मिलता है। बल्कि, हम इस तरह "Arg1, Arg2, Arg3" के रूप में वाक्यविन्यास प्राप्त करते हैं। इसलिए आपको यहां वाक्य रचनाओं के बारे में पूरी तरह से सुनिश्चित होना चाहिए।

हमारा पहला तर्क LOOKUP VALUE है। हमारा LOOKUP VALUE सेल D2 में है, इसलिए सेल को रेंज (“D2”) के रूप में चुनें ।

कोड:

सब माचिस_Example1 () रेंज ("E2")। मान = WorksheetFunction.Match (रेंज ("2")। मान, अंत उप।

चरण 6: दूसरा तर्क तालिका सरणी है। हमारी तालिका सरणी सीमा A2 से A10 तक है। तो "रेंज (" ए 2: ए 10 ") के रूप में रेंज का चयन करें

कोड:

उप माच_Example1 () रेंज ("E2")। मान = WorksheetFunction.Match (रेंज ("22")। मान, रेंज ("A2: A10"), एंड सब

चरण 7: अब, अंतिम तर्क MATCH TYPE है। हमें एक सटीक मिलान की आवश्यकता है, इसलिए तर्क मान को शून्य के रूप में दर्ज करें।

कोड:

उप माच_Example1 () रेंज ("E2")। मान = WorksheetFunction.Match (रेंज ("22")। मान, श्रेणी ("A2: A10"), 0) अंतिम उप

मैक्रो को चलाएं हमें सेल डी 2 में जो भी साल का नाम है उसकी स्थिति मिल जाएगी।

उदाहरण # 2 - VBA एक और शीट से मिलान

Assume the same set of data from the above is there on two different sheets. For example, table array is there in the sheet name called “Data Sheet,” and Lookup Value is there in the sheet name called “Result Sheet.”

In this case, we need to refer worksheets by its name before we refer to the ranges. Below is the set of codes with sheet names.

Code:

Sub Match_Example2() Sheets("Result Sheet").Range("E2").Value = WorksheetFunction.Match(Sheets("Result Sheet").Range("D2").Value, Sheets("Data Sheet").Range("A2:A10"), 0) End Sub

Example #3 - VBA Match Function with Loops

If the result we want in a single cell, then no problem, but if the result has to come in more than one cell, then we need to use a VBA loop to get the result in all the cells.

Assume you have a data like this.

इन मामलों में, यह लंबा कोड लिखने के लिए एक चरवाहा कार्य है, इसलिए हम छोरों पर स्विच करते हैं। नीचे कोड का सेट है जो हमारे लिए काम करेगा।

कोड:

Sub Match_Example3 () Dim k As Integer For k = 2 To 10 Cells (k, 5) .Value = WorksheetFunction.Match (ks, 4) .Value, Range ("A2: 10: 10), 0) Next k End। विषय

कोड के इस सेट का परिणाम पलक झपकते ही मिल जाएगा।

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