VBA Asc - Excel VBA में Asc फ़ंक्शन का उपयोग कैसे करें? (ASCII वर्ण कोड)

एक्सेल VBA Asc फ़ंक्शन

VBA में Asc फ़ंक्शन का उपयोग पूर्णांक मान को वापस करने के लिए किया जाता है जो फ़ंक्शन के लिए दिए गए स्ट्रिंग (तर्क / पैरामीटर के रूप में प्रदान किए गए स्ट्रिंग) के पहले वर्ण के अनुरूप एक वर्ण कोड का प्रतिनिधित्व करता है। इसका उपयोग या मैक्रो कोड में दिया जा सकता है जो आम तौर पर विज़ुअल बेसिक एडिटर के माध्यम से दर्ज किया जाता है।

Excel वातावरण जिसमें मैक्रो विजुअल बेसिक एडिटर (VBE) में चलता है जिसका उपयोग मैक्रो कोड को संपादित करने और डीबग करने के लिए किया जा सकता है। यह मैक्रो कोड रखता है और इसे एक्सेल वर्कबुक से जोड़ता है।

Asc फ़ंक्शन द्वारा दिया गया पूर्णांक मान VBA में संबंधित ASCII वर्ण कोड है। ASCII (अमेरिकन स्टैंडर्ड कोड फॉर इन्फॉर्मेशन इंटरचेंज) एक 7-बिट कैरेक्टर एन्कोडिंग है, जिसमें कुल 128 कैरेक्टर हैं, जिनमें लैटिन अल्फाबेट्स, दस अरबी अंक, कुछ विराम चिह्न और कंट्रोल कैरेक्टर शामिल हैं। इसमें विशिष्ट चरित्र शामिल नहीं हैं क्योंकि उन्हें एन्कोडिंग के लिए न्यूनतम 8-बिट की आवश्यकता होती है। यह 8-बिट कोडिंग ANSI (अमेरिकी राष्ट्रीय मानक संस्थान) के साथ किया गया है जिसमें कुल 256 वर्ण परिभाषित हैं। ANSI को विस्तारित ASCII भी कहा जाता है।

VBA Asc फ़ंक्शन का सिंटैक्स

ASC फ़ंक्शन के लिए सामान्य सिंटैक्स निम्नानुसार है:

ASC सूत्र सिंटैक्स में निम्न तर्क होता है:

स्ट्रिंग: आवश्यक, पाठ स्ट्रिंग का प्रतिनिधित्व करता है जिसका पहला वर्ण संगत वर्ण कोड वांछित है और उसे लौटाया जाना है।

यदि आपूर्ति की गई स्ट्रिंग में केवल एक वर्ण है, तो फ़ंक्शन स्पष्ट रूप से उस वर्ण के लिए संख्यात्मक वर्ण कोड लौटाता है।

एक्सेल VBA Asc के उदाहरण

आइए नीचे देखते हैं कि एक्सेल VBA में एस्क का उपयोग कैसे किया जा सकता है।

उदाहरण 1

मान लें कि हमारे पास एक Excel फ़ाइल है जिसमें कुछ तार हैं, और हम इन तारों के साथ Asc फ़ंक्शन का उपयोग करना चाहते हैं। आइए हम फाइल में निहित तार देखें:

हम VBA में Asc फ़ंक्शन का उपयोग मैक्रो में करते हैं जिसे Visual Basic Editor में लिखा जा सकता है और इसे निम्नानुसार एक्सेस किया जा सकता है:

डेवलपर पर जाएं, और फिर मैक्रोज़ पर क्लिक करें:

अब एक मैक्रो नाम बनाएँ: 'मैक्रो नाम' के तहत, मैक्रो का एक नाम लिखें जिसे बनाना चाहते हैं और 'मैक्रोज़ इन' की ड्रॉपडाउन में PERSONAL.XLSB का चयन करें। मैक्रोज़ को एक व्यक्तिगत कार्यपुस्तिका में संग्रहीत किया जा सकता है जो एक छुपी हुई कार्यपुस्तिका है जो जब भी एक्सेल शुरू होती है तो पृष्ठभूमि में खुलती है। PERSONAL.XLSB का चयन करने से व्यक्तिगत कार्यपुस्तिका में मैक्रो को सहेजा जाएगा, इस प्रकार मैक्रो हमेशा उपलब्ध कराता है क्योंकि व्यक्तिगत कार्यपुस्तिका सिस्टम / फ़ाइल विशिष्ट नहीं है।

'क्रिएट' पर क्लिक करें।

यह विजुअल बेसिक एडिटर में VBA उपप्रोसेसर के साथ एक विंडो खोलेगा:

अब, वैरिएबल परिणाम 1 को परिभाषित करें

कोड:

उप कोड () मंद परिणाम १

अब स्ट्रिंग के वर्ण कोड को वापस करने के फॉर्मूले के साथ वेरिएबल Result1 असाइन करें:

कोड:

उप कोड () मंद परिणाम 1 परिणाम 1 = Asc ("राज") उप उप

अब परिणाम 1 के परिणाम मान को VBA संदेश बॉक्स (MsgBox) का उपयोग करके प्रदर्शित किया जा सकता है:

कोड:

उप कोड () डिम रिजल्ट १ रिजल्ट १ = एस्क ("राज") मिसगॉक्स रिजल्ट १ सब एंड

अब जब हम विंडो के शीर्ष पर 'रन' पर क्लिक करके या F5 दबाकर मैन्युअल रूप से इस कोड को चलाते हैं, तो हमें स्ट्रिंग के पहले अक्षर का वर्ण कोड मिलता है: "राज" एक संदेश बॉक्स में निम्नानुसार प्रदर्शित होता है:

इसलिए, हम उपरोक्त स्क्रीनशॉट में देख सकते हैं कि मैक्रो को चलाने पर, संदेश बॉक्स में '82' वापस आ जाता है। इसका तात्पर्य यह है कि 'R' का वर्ण कोड 82 है।

अब, हम उपरोक्त उदाहरण में कहते हैं, हम स्ट्रिंग के लिए वर्ण कोड ढूंढना चाहते हैं: "करण।" ऐसा करने के लिए, हम ऊपर दिए गए चरणों का पालन करते हैं।

कोड में, राज के बजाय, हम करण को उसका वर्ण कोड प्राप्त करने के लिए लिखेंगे।

कोड:

उप String2 () मंद परिणाम 2 परिणाम 2 = Asc ("करण") MsgBox परिणाम 2 उप

अब हम इस कोड को मैन्युअल रूप से या F5 दबाकर चलाते हैं, और हमें स्ट्रिंग के पहले अक्षर का वर्ण कोड मिलता है: "करण" एक संदेश बॉक्स में निम्नानुसार प्रदर्शित होता है:

इसलिए, हम ऊपर दिए गए स्क्रीनशॉट में देख सकते हैं कि मैक्रो को चलाने पर, संदेश बॉक्स में '75' वापस आ गया है। इसका तात्पर्य यह है कि 'K' के लिए एक वर्ण कोड 75 है।

अब देखते हैं कि परिणाम शेष तारों के लिए कैसे बदलता है:

कोड:

उप String3 () मंद परिणाम 2 परिणाम 2 = Asc ("हीना") MsgBox Result2 अंत उप
उप स्ट्रिंग 4 () मंद परिणाम 2 परिणाम 2 = Asc ("अरुण") MsgBox Result2 समाप्ति उप
उप स्ट्रिंग 5 () मंद परिणाम 2 परिणाम 2 = Asc ("ए") MsgBox Result2 अंत उप
सब स्ट्रिंग 6 () मंद परिणाम 2 परिणाम 2 = Asc ("ए") MsgBox Result2 अंत उप

इस उप-प्रक्रिया को एक-एक करके चलाने पर, संदेश बॉक्स में निम्नलिखित वर्ण कोड वापस आ जाते हैं (एक समय में क्रमशः)। यह उपरोक्त तारों के लिए दिए गए संगत मूल्यों की सूची है।

इसलिए, जैसा कि ऊपर दिया गया स्क्रीनशॉट दिखाता है, हम देख सकते हैं कि ASC फ़ंक्शन स्ट्रिंग के लिए 65 के रूप में वर्ण कोड लौटाता है: "अरुण" और स्ट्रिंग के लिए भी: "A." ऐसा इसलिए है क्योंकि लौटाया गया वर्ण कोड स्ट्रिंग के पहले अक्षर के लिए VBA ASCII या समकक्ष वर्ण कोड है यदि स्ट्रिंग एक से अधिक वर्ण है। इसलिए, 65 स्ट्रिंग के प्रारंभिक या पहले चरित्र के रूप में दोनों के लिए लौटा है: "अरुण" भी 'ए' है।

उदाहरण # 2

यदि VBA ASC फ़ंक्शन के पैरामीटर / तर्क के रूप में आपूर्ति की गई स्ट्रिंग एक खाली / रिक्त स्ट्रिंग (या बिना वर्ण वाला स्ट्रिंग) है, तो फ़ंक्शन रन-टाइम त्रुटि देता है।

निम्नलिखित कोड समान बताते हैं।

उप रिक्त () मंद परिणाम परिणाम = Asc ("") MsgBox (परिणाम) समाप्ति उप

जब हम इस कोड को चलाते हैं, तो हमें निम्न प्रकार से रन-टाइम त्रुटि मिलती है।

इसलिए, हम उपरोक्त स्क्रीनशॉट में देख सकते हैं कि जब ASC फ़ंक्शन के पैरामीटर या तर्क के रूप में आपूर्ति की गई स्ट्रिंग रिक्त / खाली है, और फिर फ़ंक्शन रन-टाइम त्रुटि देता है।

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

  • VBA ASC फ़ंक्शन को आपूर्ति की जाने वाली स्ट्रिंग किसी भी मान्य स्ट्रिंग अभिव्यक्ति हो सकती है।
  • Asc फ़ंक्शन केस-संवेदी है।
  • Asc फ़ंक्शन द्वारा दिया गया पूर्णांक मान 0-255 की सीमा में है।
  • AZ के लिए VBA में ASCII कोड 65-90 हैं, और az के लिए 97-122 हैं।
  • मैक्रो या उप-प्रक्रिया को दिया गया नाम VBA में कुछ डिफ़ॉल्ट फ़ंक्शन का नाम नहीं हो सकता है। यदि ऐसा नाम दिया गया है, तो उप-प्रक्रिया एक त्रुटि दिखाएगी।

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