लंबी चर प्रकार
वीबीए लंबा डेटा प्रकार का उपयोग बहुत लंबे डेटा मानों (-2,147,483,648 से 2,147,483,648) को संग्रहीत करने के लिए किया जाता है। यह केवल पूर्ण संख्याओं को संग्रहीत कर सकता है (बिना दशमलव स्थानों के)।
एक लंबा चर घोषित करने के लिए, आप डिम स्टेटमेंट (आयाम के लिए छोटा) का उपयोग करते हैं:
1 | मंद lngA के रूप में Long |
फिर, एक चर के लिए एक मान निर्दिष्ट करने के लिए, बस बराबर चिह्न का उपयोग करें:
1 | एलएनजीए = 30000 |
इसे एक प्रक्रिया में रखना इस तरह दिखता है:
12345678 | उप lngउदाहरण ()'लंबा चर घोषित करें'लोंग के रूप में मंद lngA'लंबे चर को आबाद करें'एलएनजीए = 30000'संदेश बॉक्स दिखाएं'MsgBox lngAअंत उप |
यदि आप ऊपर दिए गए कोड को चलाते हैं, तो निम्न संदेश बॉक्स दिखाया जाएगा।
लंबे समय तक डेटा प्रकार
LongLong डेटा प्रकार केवल Microsoft Office के 64 बिट संस्करण में उपलब्ध है। यदि आप 64 बिट मशीन पर Office का 32 बिट संस्करण चला रहे हैं, तो यह डेटा प्रकार उपलब्ध नहीं होगा। यह -9,223,372,036,854,775,808 से 9,223,372,036,854,775,807 की सीमा में संख्याओं का समर्थन करता है।
1 | LongLong . के रूप में मंद lngA |
LongPtr डेटा प्रकार
Microsoft Office के 64 बिट संस्करण का समर्थन करने के लिए LongPtr को VBA में पेश किया गया था। 32 बिट सिस्टम पर, इसे लॉन्ग के रूप में माना जाता है और 64 बिट सिस्टम पर इसे लॉन्ग लॉन्ग के रूप में माना जाता है।
1 | LongPtr . के रूप में मंद lngA |
नोट: LongPtr Excel 2007 या इससे पहले के संस्करणों में उपलब्ध नहीं है।
दशमलव मान और लंबे डेटा प्रकार
लंबे चर दशमलव मान संग्रहीत नहीं कर सकते। यदि आप किसी दशमलव संख्या को लंबा पार करते हैं, तो दशमलव को हटाने के लिए दशमलव संख्या को पूर्णांकित कर दिया जाएगा।
इसलिए, यदि आप नीचे दी गई प्रक्रिया को चलाना चाहते हैं:
12345678 | उप LngExampleB ()'लंबा चर घोषित करें'मंद lngA के रूप में Long'लंबे चर को आबाद करें'एलएनजीए = 3524.12'संदेश बॉक्स दिखाएं'MsgBox lngAअंत उप |
निम्नलिखित संदेश लौटाते हुए दशमलव मान को गोल किया जाएगा:
हालांकि, नीचे यह कोड:
12345678 | उप LngExampleB ()'लंबे चर घोषित करें'मंद lngA के रूप में Long'लंबे चर को आबाद करें'एलएनजीए = 3524.12'संदेश बॉक्स दिखाएं'MsgBox lngAअंत उप |
निम्नलिखित संदेश बॉक्स लौटाएगा (राउंड अप):
दशमलव / दोहरा डेटा प्रकार
यदि आप एक दशमलव स्थान संग्रहीत करना चाहते हैं, तो आपको एक चर घोषित करना होगा जो दशमलव स्थानों की अनुमति देता है। 3 डेटा प्रकार हैं जिनका आप उपयोग कर सकते हैं - सिंगल, डबल या करेंसी।
1 | डिम sngPrice सिंगल के रूप में |
1 | मंद dblकीमत डबल के रूप में |
1 | मंद वक्र मुद्रा के रूप में मूल्य |
एकल डेटा प्रकार दशमलव बिंदु को दोहरे और मुद्रा डेटा प्रकार से थोड़ा अलग तरीके से गोल करेगा, इसलिए सटीकता के लिए डबल से सिंगल का उपयोग करना बेहतर है। एक डबल में अधिकतम 12 दशमलव स्थान हो सकते हैं जबकि मुद्रा और एकल दोनों में अधिकतम 4 दशमलव स्थान हो सकते हैं।
मॉड्यूल या वैश्विक स्तर पर लंबे चर घोषित करें
पिछले उदाहरणों में, हमने एक प्रक्रिया के भीतर लॉन्ग वेरिएबल घोषित किया है। एक प्रक्रिया के साथ घोषित चर का उपयोग केवल उस प्रक्रिया के भीतर ही किया जा सकता है।
इसके बजाय, आप मॉड्यूल या वैश्विक स्तर पर लंबे चर घोषित कर सकते हैं।
मॉड्यूल स्तर
मॉड्यूल स्तर कोड मॉड्यूल के शीर्ष पर चर घोषित किए जाते हैं धुंधला बयान।
इन चरों का उपयोग उस कोड मॉड्यूल में किसी भी प्रक्रिया के साथ किया जा सकता है।
वैश्विक स्तर
वैश्विक स्तर कोड मॉड्यूल के शीर्ष पर चर भी घोषित किए जाते हैं। हालांकि, का उपयोग करने के बजाय धुंधला कथन, का उपयोग करें सह लोक यह इंगित करने के लिए कथन कि लंबा चर आपके पूरे VBA प्रोजेक्ट में उपयोग के लिए उपलब्ध है।
1 | सार्वजनिक lngA के रूप में Long |
यदि आप एक मॉड्यूल स्तर पर लंबे चर की घोषणा करते हैं और फिर इसे एक अलग मॉड्यूल में उपयोग करने का प्रयास करते हैं, तो एक त्रुटि होगी।
हालाँकि, यदि आपने लंबे चर को घोषित करने के लिए सार्वजनिक कीवर्ड का उपयोग किया था, तो त्रुटि नहीं होगी और प्रक्रिया पूरी तरह से चलेगी।
स्ट्रिंग के रूप में लंबे समय तक प्रारूपित करें
एक समय हो सकता है जब आप एक लंबे डेटा प्रकार को एक स्ट्रिंग में प्रारूपित करना चाहते हैं - उदाहरण के लिए एक तिथि या आप एक मुद्रा प्रतीक प्रदर्शित करना चाह सकते हैं।
इसे प्राप्त करने के लिए, आप प्रारूप फ़ंक्शन का उपयोग करते हैं।
निम्नलिखित प्रक्रिया:
1234567891011 | सब टेस्टलॉन्गटॉस्ट्रिंग ()'स्ट्रिंग वैरिएबल घोषित करें'स्ट्रिंग के रूप में मंद strDate'लंबे समय तक घोषित करें और मूल्य को पॉप्युलेट करें'मंद lngDate जितनी लंबी हैएलएनजीडेट = 44055'लंबे समय को दिनांक के रूप में स्वरूपित स्ट्रिंग में कनवर्ट करें'strDate = फ़ॉर्मेट (lngDate, "dd mmmm yyyy")'परिणाम देखें'डिबग.प्रिंट strDateअंत उप |
नीचे परिणाम लौटाएगा:
और निम्नलिखित प्रक्रिया
1234567891011 | सब टेस्टलॉन्ग्टो करेंसीस्ट्रिंग ()'स्ट्रिंग वैरिएबल घोषित करें'स्ट्रिंग के रूप में मंद strMoney'लंबे समय तक घोषित करें और मूल्य को पॉप्युलेट करें'मंद lngValue जितना लंबा होएलएनजीवैल्यू = 44055'लंबे समय को एक मुद्रा प्रतीक के साथ एक स्ट्रिंग में परिवर्तित करेंstrMoney = प्रारूप (lngValue, "$#,##0")'परिणाम देखें'MsgBox strMoneyअंत उप |
यह परिणाम लौटाएगा: