विषयसूची
आज हम कस्टम एक्सेल फ़ंक्शंस की खोज जारी रखेंगे। जैसा कि आप पहले से ही जानते हैं कि UDF कैसे बनाते हैं (और, मुझे उम्मीद है, आपने उन्हें अपने एक्सेल में लागू करने का भी प्रयास किया है), आइए थोड़ा और गहराई से देखें और जानें कि एक्सेल में यूजर-डिफ़ाइंड फ़ंक्शंस का उपयोग और स्टोर कैसे करें।
इसके अलावा, हम आपको दिखाएंगे कि आप अपने कार्यों को एक्सेल एड-इन फ़ाइल में आसानी से कैसे सहेज सकते हैं ताकि बाद में कुछ ही क्लिक में उनका उपयोग किया जा सके।
तो, यहां हम इसके बारे में बात करने जा रहे हैं:<1
Excel में UDF का उपयोग करने के विभिन्न तरीके
वर्कशीट में UDF का उपयोग करना
एक बार जब आप यह सत्यापित कर लेते हैं कि आपके UDF सही तरीके से काम कर रहे हैं, तो आप उन्हें Excel में उपयोग कर सकते हैं सूत्र या VBA कोड में।
आप किसी Excel कार्यपुस्तिका में उसी तरह से कस्टम फ़ंक्शन लागू कर सकते हैं जैसे आप नियमित फ़ंक्शन का उपयोग करते हैं। उदाहरण के लिए, बस एक सेल में नीचे दिए गए सूत्र को लिखें:
= GetMaxBetween(A1:A6,10,50)
यूडीएफ का उपयोग नियमित कार्यों के संयोजन में किया जा सकता है। उदाहरण के लिए, परिकलित अधिकतम मान में टेक्स्ट जोड़ें:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
आप नीचे स्क्रीनशॉट में परिणाम देख सकते हैं:
आप उस संख्या का पता लगा सकते हैं जो दोनों अधिकतम है और 10 से 50 की सीमा में है। 10> श्रेणी B2:B9 की जांच करता है और 10 और 50 के बीच की अधिकतम संख्या पाता है। फिर, INDEX + MATCH का उपयोग करके, हम उस उत्पाद का नाम प्राप्त करते हैं जो इस अधिकतम मान से मेल खाता है:
जैसा कि आप देख सकते हैं, कस्टम फ़ंक्शंस का उपयोग नियमित एक्सेल से बहुत अलग नहीं हैफ़ंक्शन।
ऐसा करते समय, याद रखें कि एक उपयोगकर्ता-परिभाषित फ़ंक्शन केवल एक मान लौटा सकता है, लेकिन कोई अन्य क्रिया नहीं कर सकता। उपयोगकर्ता परिभाषित कार्यों के प्रतिबंधों के बारे में और पढ़ें।
वीबीए प्रक्रियाओं और कार्यों में यूडीएफ का उपयोग करना
यूडीएफ का उपयोग वीबीए मैक्रोज़ में भी किया जा सकता है। नीचे आप मैक्रो कोड देख सकते हैं जो सक्रिय सेल वाले कॉलम में 10 से 50 की सीमा में अधिकतम मान की तलाश करता है। सेल (ActiveCell.CurrentRegion.Row, ActiveCell.Column), सेल (ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween (.Cells, 10, 50) i = Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End with End Sub
मैक्रो कोड में कस्टम फ़ंक्शन शामिल है
GetMaxBetween(.Cells, 10, 50)
यह सक्रिय स्तंभ में अधिकतम मान पाता है। यह मान तब हाइलाइट किया जाएगा। आप नीचे दिए गए स्क्रीनशॉट में मैक्रो का परिणाम देख सकते हैं।
एक कस्टम फ़ंक्शन का उपयोग किसी अन्य कस्टम फ़ंक्शन के अंदर भी किया जा सकता है। इससे पहले हमारे ब्लॉग में, हमने SpellNumber नामक कस्टम फ़ंक्शन का उपयोग करके किसी संख्या को टेक्स्ट में बदलने की समस्या पर ध्यान दिया था।
इसकी मदद से, हम रेंज से और तुरंत अधिकतम मान प्राप्त कर सकते हैं इसे टेक्स्ट के रूप में लिखें।
ऐसा करने के लिए, हम एक नया कस्टम फ़ंक्शन बनाएंगे जिसमें हम फ़ंक्शंस का उपयोग करेंगे GetMaxBetween और SpellNumber जो पहले से ही हमारे परिचित हैं।
फ़ंक्शन SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween (rngCells, MinNum, MaxNum)) End फंक्शनजैसा कि आप देख सकते हैं, GetMaxBetween फंक्शन किसी अन्य कस्टम फंक्शन, SpellNumber का तर्क है। यह अधिकतम मान को परिभाषित करता है, जैसा कि हमने पहले भी कई बार किया है। यह संख्या फिर टेक्स्ट में बदल जाती है।
ऊपर दिए गए स्क्रीनशॉट में, आप देख सकते हैं कि कैसे SpellGetMaxBetween फ़ंक्शन 100 और 500 के बीच की अधिकतम संख्या का पता लगाता है और फिर इसे टेक्स्ट में बदल देता है।
अन्य कार्यपुस्तिकाओं से UDF को कॉल करना
यदि आपने अपनी कार्यपुस्तिका में UDF बनाया है, तो दुर्भाग्य से, इसका मतलब यह नहीं है कि आपको किसी भी समस्या का सामना नहीं करना पड़ेगा।
मेरे अनुभव में, अधिकांश उपयोगकर्ता जल्दी या बाद में व्यक्तिगत प्रक्रियाओं और गणनाओं को स्वचालित करने के लिए मैक्रोज़ और कस्टम फ़ंक्शंस का अपना व्यक्तिगत संग्रह बनाते हैं। और यहाँ समस्या उत्पन्न होती है - विज़ुअल बेसिक में उपयोगकर्ता परिभाषित कार्यों के कोड को बाद में काम में उपयोग करने के लिए कहीं संग्रहीत करने की आवश्यकता होती है। आपके एक्सेल में। यदि ऐसा नहीं है, तो आपको #नाम मिल जाएगा! इसका उपयोग करने का प्रयास करते समय त्रुटि। यह त्रुटि इंगित करती है कि एक्सेल उस फ़ंक्शन का नाम नहीं जानता है जिसे आप सूत्र में उपयोग करना चाहते हैं।जिसे आप अपने द्वारा बनाए गए कस्टम फ़ंक्शंस का उपयोग कर सकते हैं।
पद्धति 1. फ़ंक्शन में कार्यपुस्तिका का नाम जोड़ें
आप उस कार्यपुस्तिका का नाम निर्दिष्ट कर सकते हैं जिसमें यह कार्यपुस्तिका के नाम से पहले स्थित है समारोह। उदाहरण के लिए, यदि आपने My_Functions.xlsm नामक कार्यपुस्तिका में एक कस्टम फ़ंक्शन GetMaxBetween() सहेजा है, तो आपको निम्न सूत्र दर्ज करना होगा:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
विधि 2. सभी UDF को एक सामान्य फ़ाइल में संग्रहीत करें
सभी कस्टम फ़ंक्शन को एक विशेष कार्यपुस्तिका में सहेजें (उदाहरण के लिए, My_Functions.xlsm ) और वांछित फ़ंक्शन को उसमें से कॉपी करें यदि आवश्यक हो तो वर्तमान कार्यपुस्तिका।
हर बार जब आप एक नया कस्टम फ़ंक्शन बनाते हैं, तो आपको उस कार्यपुस्तिका में उसके कोड को डुप्लिकेट करने की आवश्यकता होती है जिसमें आप उसका उपयोग करेंगे। इस पद्धति के साथ, कई असुविधाएँ उत्पन्न हो सकती हैं:
- यदि बहुत सारी कार्यशील फ़ाइलें हैं, और हर जगह फ़ंक्शन की आवश्यकता है, तो कोड को प्रत्येक पुस्तक में कॉपी करना होगा।
- कार्यपुस्तिका को मैक्रो-सक्षम प्रारूप (.xlsm या .xlsb) में सहेजना याद रखें।
- ऐसी फ़ाइल खोलते समय, मैक्रोज़ के विरुद्ध सुरक्षा हर बार एक चेतावनी प्रदर्शित करेगी, जिसकी पुष्टि की जानी चाहिए। कई उपयोगकर्ता डर जाते हैं जब वे एक पीली पट्टी चेतावनी देखते हैं जो उन्हें मैक्रोज़ को सक्षम करने के लिए कहती है। इस संदेश को देखने से बचने के लिए, आपको एक्सेल सुरक्षा को पूरी तरह अक्षम करना होगा। हालांकि, यह हमेशा सही और सुरक्षित नहीं हो सकता है।
मुझे लगता है कि आप मुझसे सहमत होंगे कि हर समय एकफ़ाइल और उसमें से उपयोगकर्ता परिभाषित कार्यों के कोड की प्रतिलिपि बनाना या सूत्र में इस फ़ाइल का नाम लिखना सबसे अच्छा समाधान नहीं है। इस प्रकार, हम तीसरे तरीके पर आए।
पद्धति 3. एक एक्सेल एड-इन फ़ाइल बनाएँ
मुझे लगता है कि सबसे अच्छा तरीका एक्सेल एड-इन फ़ाइल में अक्सर उपयोग किए जाने वाले कस्टम फ़ंक्शंस को स्टोर करना है . ऐड-इन का उपयोग करने के लाभ:
- आपको ऐड-इन को केवल एक बार एक्सेल से कनेक्ट करने की आवश्यकता है। उसके बाद, आप इस कंप्यूटर पर किसी भी फाइल में इसकी प्रक्रियाओं और कार्यों का उपयोग कर सकते हैं। आपको अपनी कार्यपुस्तिकाओं को .xlsm और .xlsb स्वरूपों में सहेजने की आवश्यकता नहीं है क्योंकि स्रोत कोड उनमें संग्रहीत नहीं किया जाएगा, लेकिन ऐड-इन फ़ाइल में। ऐड-इन हमेशा विश्वसनीय स्रोतों को संदर्भित करता है।
- ऐड-इन एक अलग फ़ाइल है। सहकर्मियों के साथ साझा करने के लिए इसे कंप्यूटर से कंप्यूटर पर स्थानांतरित करना आसान है।
एड-इन बनाने और उपयोग करने के बारे में हम बाद में बात करेंगे।
ऐड-इन का उपयोग करना- कस्टम कार्यों को स्टोर करने के लिए ins
मैं अपना खुद का ऐड-इन कैसे बनाऊं? आइए इस प्रक्रिया को चरणबद्ध तरीके से देखें।
चरण 1. ऐड-इन फ़ाइल बनाएं
माइक्रोसॉफ्ट एक्सेल खोलें, एक नई कार्यपुस्तिका बनाएं, और इसे किसी भी उपयुक्त नाम के तहत सहेजें (उदाहरण के लिए, My_Functions) ऐड-इन प्रारूप में। ऐसा करने के लिए, मेनू फ़ाइल - इस रूप में सहेजें या F12 कुंजी का उपयोग करें। फ़ाइल प्रकार Excel ऐड-इन निर्दिष्ट करना सुनिश्चित करें:
आपके ऐड-इन में एक्सटेंशन .xlam होगा।
बख्शीश। कृपया ध्यान दें किडिफ़ॉल्ट रूप से एक्सेल C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns फ़ोल्डर में ऐड-इन स्टोर करता है। मेरा सुझाव है कि आप डिफ़ॉल्ट स्थान को स्वीकार करें। यदि आप चाहें, तो आप कोई अन्य फ़ोल्डर निर्दिष्ट कर सकते हैं। लेकिन फिर, ऐड-इन कनेक्ट करते समय, आपको मैन्युअल रूप से इसका नया स्थान ढूंढना और निर्दिष्ट करना होगा। यदि आप इसे डिफ़ॉल्ट फ़ोल्डर में सहेजते हैं, तो आपको अपने कंप्यूटर पर ऐड-ऑन खोजने की आवश्यकता नहीं है। एक्सेल स्वचालित रूप से इसे सूचीबद्ध करेगा।
चरण 2. ऐड-इन फ़ाइल कनेक्ट करें
अब हमारे द्वारा बनाए गए ऐड-इन को एक्सेल से कनेक्ट करने की आवश्यकता है। फिर प्रोग्राम शुरू होने पर यह अपने आप लोड हो जाएगा। ऐसा करने के लिए, मेनू फ़ाइल - विकल्प - ऐड-इन्स का उपयोग करें। सुनिश्चित करें कि Excel ऐड-इन को प्रबंधित करें फ़ील्ड में चुना गया है। विंडो के नीचे जाएं बटन पर क्लिक करें। दिखाई देने वाली विंडो में, हमारे ऐड-इन My_Functions को चिह्नित करें। यदि आप इसे सूची में नहीं देखते हैं, तो ब्राउज़ करें बटन पर क्लिक करें और अपनी ऐड-इन फ़ाइल के स्थान पर ब्राउज़ करें।
यदि आप कस्टम फ़ंक्शंस को स्टोर करने के लिए ऐड-इन का उपयोग कर रहे हैं, तो पालन करने के लिए एक सरल नियम है। यदि आप कार्यपुस्तिका को अन्य लोगों को स्थानांतरित कर रहे हैं, तो उस ऐड-इन की एक प्रति भी स्थानांतरित करना सुनिश्चित करें जिसमें आपकी इच्छित कार्यक्षमता शामिल है। उन्हें इसे उसी तरह से कनेक्ट करना चाहिए जैसे आपने अभी किया था।
चरण 3. ऐड-इन में कस्टम फ़ंक्शन और मैक्रोज़ जोड़ें
हमारा ऐड-इन एक्सेल से जुड़ा है, लेकिन यह नहीं है कोई कार्यक्षमता नहीं हैअभी तक। इसमें नए UDF जोड़ने के लिए Alt + F11 दबाकर Visual Basic Editor खोलें। फिर आप VBA कोड के साथ नए मॉड्यूल जोड़ सकते हैं जैसा कि मेरे क्रिएट यूडीएफ ट्यूटोरियल में बताया गया है। वीबीएप्रोजेक्ट विंडो। कस्टम मॉड्यूल जोड़ने के लिए इन्सर्ट - मॉड्यूल मेनू का उपयोग करें। आपको इसमें कस्टम फ़ंक्शंस लिखने की आवश्यकता है।
आप या तो उपयोगकर्ता परिभाषित फ़ंक्शन का कोड मैन्युअल रूप से टाइप कर सकते हैं या इसे कहीं से कॉपी कर सकते हैं।
बस इतना ही। अब आपने अपना ऐड-इन बना लिया है, इसे एक्सेल में जोड़ दिया है और आप इसमें UDF का उपयोग कर सकते हैं। यदि आप अधिक UDFs का उपयोग करना चाहते हैं, तो बस VBA संपादक में ऐड-इन मॉड्यूल में कोड लिखें और इसे सहेजें।
आज के लिए बस इतना ही। हमने आपकी कार्यपुस्तिका में उपयोगकर्ता परिभाषित कार्यों का उपयोग करना सीख लिया है। हम वास्तव में आशा करते हैं कि आपको ये दिशानिर्देश मददगार लगे होंगे। यदि आपके कोई प्रश्न हैं, तो इस लेख में टिप्पणियों में लिखें।