अनुप्रयोगों के लिए विजुअल बेसिक में Out सब्सक्रिप्शन आउट ऑफ रेंज ’त्रुटि कैसे ठीक करें?



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

Visual Basic for Applications (VBA) Microsoft द्वारा विकसित Visual Basic प्रोग्रामिंग भाषा का एक कार्यान्वयन है। VBA का उपयोग UDF को सक्षम करने, कार्यों को स्वचालित करने और DLL के माध्यम से WinAPI तक पहुँचने के लिए किया जा सकता है। हालाँकि, अभी हाल ही में, बहुत सारी रिपोर्टें आ रही हैं, जहाँ उपयोगकर्ता कुछ आदेशों को निष्पादित करने में असमर्थ हैं और ' सबस्क्रिप्ट आउट ऑफ़ रेंज, त्रुटि 9 'ऐसा करने की कोशिश करते हुए ऊपर चबूतरे।



सीमा त्रुटि से सबस्क्रिप्ट



VBA में 'सब्सक्रिप्शन आउट ऑफ़ रेंज' त्रुटि का क्या कारण है?

कई उपयोगकर्ताओं से कई रिपोर्ट प्राप्त करने के बाद, हमने इस मुद्दे की जांच करने का निर्णय लिया और इसे पूरी तरह से ठीक करने के लिए समाधान का एक सेट तैयार किया। इसके अलावा, हमने उन कारणों पर ध्यान दिया जिनके कारण यह ट्रिगर होता है और उन्हें निम्नानुसार सूचीबद्ध किया जाता है।



  • गैर-मौजूदा तत्व: कुछ मामलों में, यह संभव है कि आपने कमांड में एक तत्व को संदर्भित किया हो जो मौजूद नहीं है। यह संभव है कि सबस्क्रिप्ट या तो बड़े या छोटे से संभव सब्सक्राइब की सीमा से अधिक हो या आयाम इस एप्लिकेशन में इस बिंदु पर सरणी को सौंपा नहीं गया हो।
  • अपरिभाषित तत्व: यह संभव है कि आपने अपने कोड में तत्वों की संख्या की पहचान नहीं की है, यह महत्वपूर्ण है कि किसी सरणी में तत्वों की संख्या को 'Dim' या 'ReDim' कमांड का उपयोग करके परिभाषित किया जाए।
  • गलत संग्रह सदस्य: कुछ मामलों में, उपयोगकर्ता ने एक संग्रह सदस्य को संदर्भित किया हो सकता है जो मौजूद नहीं है। यदि संग्रह सदस्य के प्रति गलत संदर्भ दिया जाता है, तो यह त्रुटि उत्पन्न हो सकती है।
  • शॉर्टहैंड स्क्रिप्ट: यह संभव है कि आपने सबस्क्रिप्ट के शॉर्टहैंड फॉर्म का उपयोग किया हो और यह अवैध रूप से एक तत्व निर्दिष्ट करता हो। वैध कुंजी नाम का उपयोग करना महत्वपूर्ण है।

अब जब आपको समस्या की प्रकृति की बुनियादी समझ हो गई है, तो हम समाधानों की ओर बढ़ेंगे। उन्हें उस विशिष्ट क्रम में लागू करना सुनिश्चित करें जिसमें उन्हें संघर्ष से बचने के लिए प्रस्तुत किया गया है।

समाधान 1: ऐरे की जाँच करना

यह संभव है कि आपने ऐरे तत्व के लिए गलत मान निर्धारित किया हो। इसलिए, एरे तत्व के लिए आपके द्वारा परिभाषित मूल्य को दोगुना करने की सिफारिश की जाती है और सुनिश्चित करें कि यह सही है। इसके अलावा, सुनिश्चित करें कि आप ऐरे की घोषणा की जाँच करें और सत्यापित करें ऊपरी और निचले सीमा। यदि सरणियों का पुनर्वितरण किया गया है, तो इसका उपयोग करना सुनिश्चित करें LBound तथा UBound हालत पहुँच के लिए कार्य करता है। यदि चर एक चर है, तो चर नाम की वर्तनी की जाँच करें।

VBA एक्सेल में सरणी



समाधान 2: तत्वों की संख्या निर्दिष्ट करना

कुछ मामलों में, यह संभव है कि आपने अपने कोड में उन तत्वों की संख्या को परिभाषित नहीं किया होगा जिनके कारण त्रुटि उत्पन्न हो रही है। यह अनुशंसा की जाती है कि आप सरणी का उपयोग करके तत्वों की संख्या निर्दिष्ट करें कोई नहीं या ReDim कार्य करता है।

तत्वों की संख्या निर्दिष्ट करने के लिए मंद और रेदिम का उपयोग करना

समाधान 3: परिवर्तन निर्माण

जब उपयोगकर्ता किसी गलत या गैर-मौजूद संग्रह सदस्य को निर्दिष्ट करता है, तो यह त्रुटि आमतौर पर चालू हो जाती है। इसलिए, सूचकांक तत्वों को निर्दिष्ट करने के बजाय, यह अनुशंसा की जाती है कि आप 'के साथ संपर्क करें' प्रत्येक के लिए… Next निर्माण करता है।

'प्रत्येक के लिए ... अगला' निर्माण का उपयोग करना

समाधान 4: Keyname और Index की जाँच करना

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

मान्य Keyname का उपयोग करना

2 मिनट पढ़ा