VBA डेटा प्रकार - कैसे घोषित करें और डेटा प्रकारों को असाइन करें?

विषय - सूची

VBA डेटा प्रकार

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

VBA में, हमारे पास दो प्रकार के डेटा प्रकार हैं, जैसे न्यूमेरिक और नॉन-न्यूमेरिक।

किसी भी प्रकार का डेटा असाइन करने से पहले, हमें चर नाम घोषित करने की आवश्यकता है। चर वह नाम है जो असाइन किए गए डेटा प्रकार के माध्यम से मान रखता है। चर का नाम देते समय, हमें कुछ बातों को ध्यान में रखने की आवश्यकता है।

हम चर को दो तरीकों से परिभाषित कर सकते हैं। एक है "स्पष्ट रूप से," और दूसरा एक है "स्पष्ट रूप से।"

  • एक चर को परिभाषित करने का निहितार्थ "DIM" शब्द और डेटा प्रकार का उपयोग किए बिना है। उदाहरण के लिए, MyValue = 500 एक चर घोषित करने का निहित तरीका है।
  • एक चर को परिभाषित करने का एक स्पष्ट तरीका "डीआईएम" शब्द और इसके साथ जुड़े डेटा प्रकार के साथ है। उदाहरण के लिए, इंटीजर के रूप में डिम मायवैल्यू

शीर्ष 2 प्रकार के डेटा प्रकार

पहले वैरिएबल को डेटा टाइप असाइन करने के लिए, हमें डेटा टाइप्स को समझने की जरूरत है। बेहतर समझने के लिए, हम दो स्लैब में वर्गीकृत कर सकते हैं।

# 1 - संख्यात्मक डेटा प्रकार

ये केवल संख्यात्मक मान रख सकते हैं। सबसे आम संख्यात्मक डेटा प्रकार बाइट, इंटेगर, लॉन्ग, सिंगल, डबल, करेंसी और डेसीमल हैं।

डेटा प्रकारों में से प्रत्येक अपने संबंधित मूल्यों को धारण कर सकता है। नीचे एक विस्तृत विवरण दिया गया है।

  • एक बाइट मान 0 से 255 तक धारण कर सकता है। यह 255 से अधिक कुछ भी नहीं पकड़ सकता है।
  • पूर्णांक मान -32768 से 32768 तक मान रख सकता है। यह किसी भी दशमलव संख्या को धारण नहीं कर सकता है।
  • लॉन्ग मान -2,147,483,648 से 2,147,483,648 तक हो सकता है।
  • एकल डेटा प्रकार केवल 7 अंकों तक मान रख सकता है, उदाहरण के लिए, 1234567, 1.245564।
  • डबल डेटा प्रकार 15 अंकों तक मान रख सकता है। यह केवल डेटा प्रकार सिंगल का विस्तार है।
  • मुद्रा डेटा प्रकार दशमलव मान से पहले 15 अंक और दशमलव मान के बाद 4 अंक रख सकता है।
  • दशमलव डेटा प्रकार 28 दशमलव स्थानों तक पकड़ सकता है। यदि आप 15 से अधिक दशमलव स्थानों पर कुछ भी संग्रहीत करना चाहते हैं, तो आप इस डेटा प्रकार का उपयोग कर सकते हैं।

# 2 - गैर-संख्यात्मक डेटा प्रकार

ये डेटा प्रकार संख्यात्मक मानों के अलावा किसी भी चीज़ का मान रख सकते हैं। अधिक बार उपयोग किए जाने वाले गैर-संख्यात्मक डेटा प्रकार वेरिएंट , स्ट्रिंग, बूलियन, दिनांक, ऑब्जेक्ट हैं।

  • स्ट्रिंग: स्ट्रिंग डेटा प्रकार दो प्रकार के होते हैं। एक जो संख्यात्मक डेटा को पकड़ सकता है और दूसरा वह जो गैर-संख्यात्मक डेटा को पकड़ सकता है।
  • स्ट्रिंग निश्चित लंबाई 1 से 65400 वर्णों तक वर्णों को धारण कर सकती है।
  • स्ट्रिंग वेरिएबल-लेंथ 0 से 2 बिलियन कैरेक्टर्स के अक्षर रख सकती है।
  • बूलियन तार्किक परिणाम मान यानि TRUE या FALSE पकड़ सकता है।
  • एक तारीख 1 जनवरी, 100 से 31 दिसंबर, 9999 तक केवल तारीख मान रख सकती है
  • ऑब्जेक्ट यह केवल Microsoft उत्पाद की वस्तुओं को पकड़ सकता है। उदाहरण के लिए, वर्कशीट, वर्कबुक, रेंज, पावरपॉइंट, वर्ड।
  • एक वेरिएंट में दो डेटा प्रकार होते हैं जैसे, टेक्स्ट और न्यूमेरिक।
  • वैरिएंट पाठ वैरिएबल मान को वैरिएबल स्ट्रिंग वैरिएबल लंबाई के समान धारण कर सकता है
  • वैरिएंट न्यूमेरिक संख्यात्मक मानों को डेटा टाइप डबल के समान रख सकता है

विभिन्न VBA डेटा प्रकारों का उपयोग करने के उदाहरण

उदाहरण के लिए, पहले एक डेटा प्रकार निर्दिष्ट करने के लिए, हमें " डिम " शब्द का उपयोग करके एक चर घोषित करना होगा

कोड:

उप DT_Example1 () मंद k अंत उप

अब “As” शब्द का उपयोग करते हुए, हमें डेटा टाइप असाइन करने की आवश्यकता है। अब मैं डेटा प्रकार को " बाइट " के रूप में निर्दिष्ट करूंगा

कोड:

उप DT_Example1 () डिम के रूप में बाइट एंड सब

जैसा कि हम जानते हैं, बाइट डेटा प्रकार 0 से 255 तक मानों को धारण कर सकता है। लेकिन परीक्षण करने के लिए, मैं 255 से अधिक का मान प्रदान करूंगा।

कोड:

उप DT_Example1 () डिम के रूप में बाइट k = 260 अंत उप

अब, यदि मैं यह कोड चलाता हूं, तो हमें "ओवर फ्लो" के रूप में त्रुटि मिलेगी।

इसी प्रकार, अन्य डेटा प्रकार भी अपनी सीमा के अनुसार मान रख सकते हैं।

अब नीचे दिए गए कोड पर एक नज़र डालें।

कोड:

सब DT_Example2 () डिम k अस बुलियन k = 100 MsgBox k End Sub

डेटा प्रकार को "बूलियन" के रूप में सौंपा गया है, जो TRUE या FALSE रखता है। लेकिन मैंने चर "k" को "100" के रूप में मान दिया है।

इस कोड को चलाएं और देखें कि क्या होता है।

हमें " सत्य " के रूप में परिणाम मिला

कारण हमें TRUE मिला क्योंकि एक्सेल 0 से अधिक को TRUE मानता है और 0 को FALSE मानता है।

अब मैं गैर-संख्यात्मक मान प्रदान करूंगा और देखूंगा कि क्या होता है।

हमें त्रुटि मिली क्योंकि "बूलियन" TRUE या FALSE के अलावा अन्य पाठ मानों को स्वीकार नहीं कर सकता है।

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