यह ट्यूटोरियल समझाएगा कि VBA कंपाइल एरर का क्या अर्थ है और यह कैसे होता है।
आपका कोड चलाने से पहले, VBA संपादक कोड को संकलित करता है। इसका मूल रूप से मतलब है कि वीबीए यह सुनिश्चित करने के लिए आपके कोड की जांच करता है कि इसे सही तरीके से चलाने के लिए सभी आवश्यकताएं हैं - यह जांच करेगा कि सभी चर घोषित किए गए हैं (यदि आप विकल्प स्पष्ट का उपयोग करते हैं जो आपको करना चाहिए!), जांचें कि सभी प्रक्रियाएं घोषित की गई हैं , लूप की जाँच करें और यदि स्टेटमेंट आदि। कोड को संकलित करके, VBA होने वाली किसी भी रनटाइम त्रुटियों को कम करने में मदद करता है।
(वीबीए त्रुटियों के बारे में अधिक जानकारी के लिए हमारी त्रुटि प्रबंधन मार्गदर्शिका देखें)
अघोषित चर
यदि आप चर घोषित नहीं करते हैं, लेकिन आपका विकल्प स्पष्ट आपके मॉड्यूल के शीर्ष पर चालू है, और फिर आप मैक्रो चलाते हैं, तो एक संकलन त्रुटि होगी।
यदि आप ओके पर क्लिक करते हैं, तो संबंधित प्रक्रिया डिबग मोड में चली जाएगी।
वैकल्पिक रूप से, अपना कोड चलाने से पहले, आप कोड के संकलन को बाध्य कर सकते हैं।
में मेन्यू, चुनते हैं डीबग> प्रोजेक्ट संकलित करें.
कंपाइलर किसी भी कंपाइल एरर को ढूंढेगा और उसके अनुसार पहले वाले को हाइलाइट करेगा।
अघोषित प्रक्रियाएं
यदि आप कोड एक ऐसी प्रक्रिया को संदर्भित करते हैं जो मौजूद नहीं है, तो आपको एक संकलन त्रुटि भी मिलेगी।
उदाहरण के लिए:
1234 | उप कॉल प्रक्रिया ()'कुछ कोड यहाँ तोअगली प्रक्रिया पर कॉल करेंअंत उप |
हालाँकि, यदि प्रक्रिया - अगली प्रक्रिया मौजूद नहीं है, तो एक संकलन त्रुटि होगी।
गलत कोडिंग - स्टेटमेंट का अपेक्षित अंत
यदि आप का उपयोग करके एक लूप बनाते हैं के लिए… प्रत्येक… अगला या साथ… अंत के साथ और भूल जाओ और अगला या के साथ समाप्त करना… आपको एक संकलन त्रुटि भी मिलेगी।
123456 | उप संकलन त्रुटि ()कार्यपुस्तिका के रूप में मंद wbवर्कशीट के रूप में डिम WSWb . में प्रत्येक ws के लिएMsgBox ws.Nameअंत उप |
यदि एंड इफ को छोड़ दिया जाता है तो इफ स्टेटमेंट के साथ भी ऐसा ही होगा!
गुम सन्दर्भ
यदि आप किसी ऑब्जेक्ट लाइब्रेरी का उपयोग कर रहे हैं जो एक्सेल का हिस्सा नहीं है, लेकिन आप अपने वैरिएबल डिक्लेरेशन में लाइब्रेरी से ऑब्जेक्ट्स का उपयोग कर रहे हैं, तो आपको एक कंपाइल एरर भी प्राप्त होगा।
इसे या तो लेट बाइंडिंग द्वारा हल किया जा सकता है - चर घोषित करना ऑब्जेक्ट हैं; या प्रासंगिक जोड़कर वस्तु पुस्तकालय परियोजना को।
में मेन्यू, चुनते हैं उपकरण > संदर्भ और अपने प्रोजेक्ट में प्रासंगिक ऑब्जेक्ट लाइब्रेरी जोड़ें।