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

एक्सेल VBA वैल फंक्शन

Vba में वैल फ़ंक्शन स्ट्रिंग फ़ंक्शंस के अंतर्गत आता है, यह VBA में एक इनबिल्ट फ़ंक्शन भी है, जिसका उपयोग डेटा वैरिएबल से संख्यात्मक मान प्राप्त करने के लिए किया जाता है, मान लें कि यदि ए वेरिएबल का मान A10 है तो वैल फ़ंक्शन हमें आउटपुट के रूप में 10 देगा, यह एक स्ट्रिंग को एक तर्क के रूप में लेता है और स्ट्रिंग में मौजूद संख्याओं को वापस करता है।

वैल वीबीए शब्दावली में वैल्यू के लिए खड़ा है। यह फ़ंक्शन स्ट्रिंग को संख्याओं को वास्तविक संख्या में परिवर्तित करता है। उदाहरण के लिए, यदि आप पाठ स्ट्रिंग "1234 ग्लोबल" की आपूर्ति करते हैं, तो यह केवल संख्यात्मक भाग, यानी 1234 पर वापस आ जाएगा।

अक्सर जब हम वेब नंबरों से डेटा डाउनलोड या प्राप्त करते हैं, तो आमतौर पर एक स्प्रेडशीट में पाठ मानों के रूप में संग्रहीत किया जाता है। यदि आप एक्सेल में सही फ़ंक्शन के बारे में नहीं जानते हैं, तो पाठ को संख्याओं में बदलना सबसे कठिन काम है। एक नियमित वर्कशीट फ़ंक्शन के रूप में, हमारे पास एक फ़ंक्शन है, जिसका नाम VALUE है, जो सभी स्ट्रिंग को बदल देगा, जो वर्कशीट में एक साधारण फ़ंक्शन के साथ सटीक संख्याओं के लिए संख्याओं का प्रतिनिधित्व करता है। इस लेख में, हम दिखाएंगे कि वैल फ़ंक्शन का उपयोग करके यह VBA में कैसे प्राप्त किया जा सकता है।

वाक्य - विन्यास

इसका एक ही तर्क है, यानी, स्ट्रिंग।

  • स्ट्रिंग: यह केवल एक स्ट्रिंग मान है जिसे हम संख्यात्मक भाग से बाहर निकालने की कोशिश कर रहे हैं।

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

नोट: वैल फ़ंक्शन हमेशा अंतरिक्ष वर्णों को अनदेखा करता है और अंतरिक्ष वर्ण या वर्णों के बाद संख्याओं को पढ़ना जारी रखता है।

उदाहरण के लिए, यदि आपूर्ति की गई स्ट्रिंग "145 45 666 3" है, तो यह अंतरिक्ष वर्णों को अनदेखा कर देगी और परिणाम को "14545663" के रूप में वापस कर देगी।

एक्सेल VBA में वैल फंक्शन के उदाहरण

उदाहरण 1

आइए एक सरल संख्या के साथ पहला उदाहरण आज़माएं, "14 56 47."

नीचे दिया गया कोड आपके लिए है।

कोड:

उप Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'ऊपर के रूप में परिवर्तित करें 145647 MsgBox k End Sub

जब आप F5 कुंजी या मैन्युअल का उपयोग करके VBA कोड चलाते हैं, तो यह परिणाम को "145647" के रूप में सभी स्थान वर्णों को अनदेखा करके वापस कर देगा जैसा कि नीचे की छवि में दिखाया गया है।

उदाहरण # 2

इस उदाहरण में, हम देखेंगे कि स्ट्रिंग का परिणाम "+456" क्या है।

कोड:

उप Val_Example2 () डिम k अस वैरिएंट k = वैल ("+ 456") 'उपर्युक्त को 456 MsgBox k End उप में रूपांतरित करें

आप इस कोड को मैन्युअल रूप से या F5 कुंजी के माध्यम से 456 के रूप में मान को वापस करने के लिए +456 की अनदेखी करके चला सकते हैं।

उदाहरण # 3

अब उसी संख्या को ऋणात्मक चिन्ह के साथ आज़माते हैं।

कोड:

उप Val_Example3 () डिम k अस वैरिएंट k = Val ("- 456") 'उपरोक्त को -456 MsgBox k End उप में रूपांतरित करें

यह कोड -456 के रूप में मान लौटाएगा क्योंकि ऑपरेटर साइन के साथ नंबर दिखाया जाना चाहिए।

उदाहरण # 4

अब इस स्ट्रिंग "100 किलोग्राम" का प्रयास करें।

कोड:

उप Val_Example4 () डिम k अस वैरिएंट k = Val ("100 KG") 'KG की उपेक्षा करता है और केवल 100 MsgBox k End को लौटाता है

यदि आप इस कोड को मैन्युअल रूप से चलाते हैं या F5 कुंजी का उपयोग करते हैं, तो यह उपरोक्त कोड "KG" को अनदेखा करता है और VBA संदेश बॉक्स में केवल "100" देता है।

उदाहरण # 5

अब दिनांक स्ट्रिंग का प्रयास करें, अर्थात, "14-05-2018"।

कोड:

उप Val_Example5 () Dim k As Variant k = Val ("14-05-2019") '14 परिणाम के रूप में देता है। MsgBox k End Sub

उपरोक्त कोड परिणाम के रूप में 14 देता है क्योंकि वैल फ़ंक्शन केवल संख्यात्मक मान प्राप्त कर सकता है जब तक कि यह संख्यात्मक चरित्र के अलावा कोई और नहीं मिलता है।

उदाहरण # 6

अब स्ट्रिंग का प्रयास करें "7459Good456"।

कोड:

उप Val_Example6 () डिम के रूप में वैरिएंट k = Val ("7459 गुड 456") 'परिणाम के रूप में 7459 देता है। MsgBox k End Sub

यह संख्याओं को तब तक निकालेगा जब तक कि यह गैर-संख्यात्मक चरित्र को न पा ले, अर्थात, परिणाम 7459 है। हालांकि गैर-संख्यात्मक मान "अच्छा" के बाद संख्यात्मक मान हैं, लेकिन इसके बाद की संख्याओं को पूरी तरह से अनदेखा करता है।

उदाहरण # 7

अब स्ट्रिंग मान "H 12456" का प्रयास करें।

कोड:

उप Val_Example7 () Dim k As Variant k = Val ("H 12456") '0 परिणाम के रूप में देता है। MsgBox k End Sub

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

उदाहरण # 8

अब इस स्ट्रिंग की कोशिश करें “24545। २ ”है।

कोड:

उप Val_Example8 () डिम k अस वैरिएंट k = Val ("24545। 2") 'परिणाम के रूप में 24545.2 लौटाता है। MsgBox k End Sub

कोड परिणाम 24545.2 के रूप में वापस करता है क्योंकि VBA वैल फ़ंक्शन वर्ण डॉट (।) को दशमलव वर्ण के रूप में मानता है और तदनुसार परिणाम देता है।

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