VBA में एक लंबा डेटा प्रकार क्या है?
VBA में लॉन्ग एक डेटा प्रकार होता है जिसका उपयोग संख्यात्मक मानों को संग्रहीत करने के लिए किया जाता है, हम जानते हैं कि पूर्णांक भी संख्यात्मक मान रखता है लेकिन लॉन्ग पूर्णांकों से भिन्न होता है क्योंकि डेटा के भंडारण के लिए सीमा लंबे डेटा प्रकार के मामले में भी बहुत बड़ी है डेटा प्रकार हम दशमलव मान भी पकड़ सकते हैं, यह एक इनबिल्ट डेटा प्रकार है।
"लॉन्ग," जैसा कि नाम कहता है, इसे किसी बड़ी चीज का मूल्य रखना चाहिए। "लॉन्ग" VBA एक्सेल में एक संख्यात्मक डेटा प्रकार है।
एक्सेल वीबीए में लंबे डेटा प्रकार सकारात्मक संख्याओं के लिए 0 से 2, 147, 483, 647 से मानों को पकड़ सकते हैं, और नकारात्मक संख्या के लिए यह 0 से -2, 147, 483, 648 तक पकड़ सकते हैं।
VBA लंबे डेटा प्रकार के लिए आपके कंप्यूटर के मेमोरी स्टोरेज के 4 बाइट्स की आवश्यकता होती है। यह डबल पूर्णांक डेटा प्रकार चर मेमोरी (2 बाइट्स) और डबल डेटा प्रकार चर मेमोरी (8 बाइट्स) का आधा है
मैंने कभी ऐसा परिदृश्य नहीं देखा है जहाँ मैं अपने छोटे से करियर में VBA लॉन्ग डेटा टाइप की सीमा का पूरी तरह से उपयोग करना चाहता हूँ। लेकिन मैं आपको इसे बेहतर समझने के लिए कुछ उदाहरण दिखाऊंगा।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba.jpg.webp)
VBA लॉन्ग डेटा टाइप के उदाहरण
नीचे एक्सेल VBA लॉन्ग डेटा टाइप के उदाहरण दिए गए हैं।
VBA लंबा उदाहरण # 1
जैसे ही आप चर डेटा प्रकार को "लॉन्ग" घोषित करते हैं, आप मानों को -2, 147, 483, 648 से 2, 147, 483, 648 तक असाइन कर सकते हैं।
उदाहरण के लिए, चर को लंबे डेटा प्रकार के रूप में घोषित करें।
कोड:
उप Long_Example1 () लंबे समय के उप के रूप में मंद k
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_2.jpg.webp)
मानों को वर्कशीट की कुल पंक्ति गणना के रूप में असाइन करें।
एक्सेल वर्कशीट कोड में कुल गिनती पंक्तियाँ प्राप्त करने के लिए “पंक्तियाँ” हैं। गिनती ”
कोड:
उप Long_Example1 () डिम k अस लॉन्ग k = Rows.Count End Sub
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_3.jpg.webp)
अब संदेश बॉक्स में मान दिखाएं।
कोड:
उप Long_Example1 () Dim k As Long k = Rows.Count MsgBox k End Sub
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_4.jpg.webp)
इस कोड को चलाएं और देखें कि वर्कशीट में कुल पंक्तियों की गिनती क्या है।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba.gif)
यह कहता है कि हमारे पास वर्कशीट में 1 मिलियन से अधिक पंक्तियाँ हैं।
अब बेहतर समझ के लिए, मैं डेटा प्रकार को LONG से INTEGER में बदल दूंगा।
कोड:
उप Long_Example1 () Dim k As Integer k = Rows.Count MsgBox k End Sub
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_5.jpg.webp)
यदि मैं VBA कोड चलाता हूं, तो मुझे "अतिप्रवाह" के रूप में त्रुटि संदेश मिलेगा।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_6.jpg.webp)
VBA में हमें यह त्रुटि क्यों मिली क्योंकि डेटा प्रकार "Integer" केवल -31768 से 32767 तक मानों को धारण कर सकता है। इस मामले में, "पंक्तियाँ। गिनती "संख्या" पूर्णांक "चर की सीमा से अधिक है जो वापस आ जाएगी।
वैरिएबल को 1 मिलियन से अधिक का मान देने से जो केवल 32767 को पकड़ सकता है, यहां ओवरफ्लो एरर का कारण बनता है।
VBA लॉन्ग उदाहरण # 2
लंबे वैरिएबल का उपयोग करके अंतिम पंक्ति का पता लगाएं
वर्कशीट की अंतिम प्रयुक्त पंक्ति को खोजना कोडिंग का सबसे महत्वपूर्ण है। कार्यपत्रक की अंतिम उपयोग की गई पंक्ति को खोजने के लिए चर को घोषित करने की आवश्यकता होती है। वैरिएबल की घोषणा करते समय और डेटा प्रकार निर्दिष्ट करते समय कुछ सामान्य ज्ञान की आवश्यकता होती है।
मान लें कि आपके पास 25000 पंक्तियों पर डेटा समाप्त है, जैसा कि नीचे की छवि में दिखाया गया है।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_7.jpg.webp)
अब मुझे पता है कि अंतिम प्रयुक्त पंक्ति संख्या 25000 है। इसके लिए, हमें "LONG" डेटा प्रकार की आवश्यकता नहीं है क्योंकि "INTEGER" डेटा प्रकार मुझे अंतिम पंक्ति दे सकता है।
आपकी जानकारी के लिए नीचे दिए गए कोड को देखें।
कोड:
उप Long_Example1 () Dim k As Integer k = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox k End Sub
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_8.jpg.webp)
यदि मैं इस कोड को चलाता हूं, तो मुझे उस समय उपयोग की गई कार्यपत्रक की अंतिम उपयोग की गई पंक्ति संख्या मिल जाएगी।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_9.jpg.webp)
कोडर के रूप में, भविष्य में आपके पास मौजूद डेटा का आकार जानना महत्वपूर्ण है। क्योंकि इस समय, डेटा 25000 वें पंक्ति में समाप्त हो सकता है , लेकिन यदि डेटा "पूर्णांक" सीमा से परे बढ़ता है, अर्थात, 32767, तो यह अतिप्रवाह त्रुटि का कारण बनता है।
उदाहरण के लिए, मैं डेटा को 32768 वें पंक्तियों में बढ़ाऊंगा ।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_10.jpg.webp)
अब, यदि मैं फिर से समान कोड चलाता हूं, तो मुझे मान नहीं मिलेगा। बल्कि, मुझे नीचे के रूप में त्रुटि मिलेगी।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_11.jpg.webp)
याद रखें, मैंने "पूर्णांक" मान की सीमा से परे केवल 1 की सीमा बढ़ा दी है, इसलिए मुझे एक अतिप्रवाह त्रुटि मिली।
इसलिए वैरिएबल को डेटा टाइप असाइन करने से पहले अपने डेटा का आकार जानना महत्वपूर्ण है। भविष्य में आपके डेटा के आकार के बारे में विचार किए बिना चर को "लंबी" घोषित करना हमेशा एक बेहतर विकल्प होता है।
एक्सेल VBA लांग वैरिएबल के विकल्प
आप पहले से ही इस बारे में सोच रहे होंगे कि यदि हम मूल्य को एक लंबे चर की सीमा से अधिक रखना चाहते हैं। इसके लिए, हमें VBA "स्ट्रिंग" या "वेरिएंट" जैसे विभिन्न डेटा प्रकारों का उपयोग करने की आवश्यकता है।
याद रखें, जिस क्षण यह संख्या 2147483647 को पार कर जाती है, हम LBA डेटा प्रकार के साथ VBA में एक अतिप्रवाह त्रुटि प्राप्त करेंगे। इस संख्या से अधिक स्टोर करने के लिए, हमें "स्ट्रिंग" या "वेरिएंट" डेटा प्रकार का उपयोग करना होगा।
स्ट्रिंग के लिए
कोड:
उप Long_Example2 () डिम के रूप में स्ट्रिंग k = 2147483648 MsgBox k End Sub
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_12.jpg.webp)
वेरिएंट के लिए
कोड:
उप Long_Example2 () डिम k अस वैरिएंट k = 2147483648 MsgBox k End Sub
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_13.jpg.webp)
जब हम उपरोक्त कोड चलाते हैं, तो यह उल्लेखित संख्या दिखाएगा।
![](https://cdn.know-base.net/1353727/vba_long_example_step_by_step_guide_to_long_data_type_in_excel_vba_14.jpg.webp)