ऐसा लगता है कि मैंने अपने विवादास्पद रुख के कारण पिछले कुछ वर्षों में कुछ नाराजगी पैदा की है कि विकल्प स्पष्ट वीबीए में उपयोगी नहीं है। मुझे यह हाल ही में याद आया जब मैंने ब्राजील के एक्सेल वीकेंड में स्काइप सत्र किया था। मैंने QUE के लिए Excel VBA पर एक किताब लिखी है। उस पुस्तक का ब्राज़ील के बाज़ार के लिए पुर्तगाली में अनुवाद किया गया है। तो, जाहिर है, मैंने 15 साल के लिए एक्सेल VBA के बारे में ब्रासील के ठीक लोगों को सिखाया है। अब जब मैं 15 साल का हूं और समझदार हूं, तो मैं यह स्वीकार करूंगा कि ऑप्शन एक्सप्लोसिव का उपयोग करने के अच्छे कारण हो सकते हैं।
नोट्रे डेम में, मैंने प्रोग्रामिंग में भारी एकाग्रता के साथ व्यावसायिक पाठ्यक्रम लिया। परिस्थितियों के एक अजीब सेट के माध्यम से, मैंने एनडी पर उपलब्ध हर प्रोग्रामिंग कोर्स को इंजीनियरिंग और बिजनेस स्कूल दोनों से लिया। मैंने फोरट्रान, पास्कल, असेंबलर और कोबोल सीखा। मुझे प्रोग्रामिंग बहुत पसंद है। उन प्रोग्रामिंग पाठ्यक्रमों ने मेरे GPA को बचाया और मुझे फेंके जाने से बचाए रखा। दिन में वापस, हमारे प्रोफेसरों ने हमें बताया कि हमें कोडिंग शुरू करने से पहले अपने कार्यक्रम और हैंड-ड्रा फ्लोचार्ट की योजना बनानी थी। मैं एक विद्रोही था। मैं कार्यक्रम पहले लिखूंगा और उसके बाद फ्लोचार्ट खींचूंगा।
मैंने अपने करियर के पहले 18 महीने COBOL प्रोग्राम लिखने में बिताए। लेकिन फिर मैंने वित्त में स्थानांतरित कर दिया और वित्त और लेखा में काम करते हुए दस साल बिताए। मैं ज्यादातर लेखांकन का काम कर रहा था, लेकिन जब मुझे कुछ कोड लिखने की आवश्यकता थी, तो मुझे कुछ कोड लिखने के लिए पर्याप्त पता था।
मैंने लोटस 1-2-3 में मैक्रोज़ को प्रोग्राम किया और फिर 1995 में एक्सेल में जाने के बाद वीबीए मैक्रोज़ लिखना शुरू कर दिया। मैं अभी भी उस बिंदु पर विद्रोही था: समय से पहले अपने चरों को घोषित करना कोड लिखने से पहले एक फ्लोचार्ट ड्रॉ करना बहुत पसंद था। मैं आगे की योजना बनाने वाला कभी नहीं हूं। में गोता लगाएँ। कोडिंग शुरू करें। यदि आपको रास्ते में कहीं एक नए चर की आवश्यकता है, तो बस चर बनाएं।
मैं एक विद्रोही था, पहले कोड लिख रहा था और बाद में फ्लोचार्ट को आरेखित कर रहा था, चर, जो मैंने तर्क दिया था, औपचारिक संदेशवाहकों के लिए है। यदि आप लेखांकन में काम कर रहे हैं और कोड की 20 पंक्तियाँ खंगाल रहे हैं, तो समय से पहले अपने चरों को घोषित करने का कोई कारण नहीं है।
उस पर मेरा रुख मुझे अन्य एक्सेल विशेषज्ञों के साथ कुछ दोस्ताना बहस में मिला है। जॉर्डन गोल्डमेयर। बॉब फिलिप्स। क्रिस्टियानो गैल्वो।
सबसे पहले, मैंने हमेशा आपके ऑब्जेक्ट वेरिएबल्स को घोषित करने की सिफारिश की है। नीचे दिए गए कोड में, WSD को एक वर्कशीट के रूप में घोषित किया गया है और सेट कमांड का उपयोग करके असाइन किया गया है। यदि आप ऑब्जेक्ट चर घोषित करते हैं, तो आप एक अवधि के बाद चर टाइप करके सभी गुणों और विधियों को ब्राउज़ कर सकते हैं।
![](https://cdn.wiki-base.com/4385379/when_it_makes_sense_to_use_option_explicit_-_excel_tips_2.jpg.webp)
विकल्प स्पष्ट का उपयोग नहीं करके, आप वर्तनी त्रुटियों का जोखिम चलाते हैं। नीचे दिए गए कोड में, फाइनल चर नामक एक चर बनाया जाता है। अगली पंक्ति में, मेरा मतलब 2 से फ़ाइनलरो पर लूप करना था, लेकिन मैंने फ़िनाले के रूप में वेरिएबल को गलत कर दिया।
![](https://cdn.wiki-base.com/4385379/when_it_makes_sense_to_use_option_explicit_-_excel_tips_3.jpg.webp)
विकल्प स्पष्ट के बिना, किसी को एहसास नहीं हो सकता कि टाइपो है। फाइनलर चर में 100 हो सकते हैं। लेकिन लूप के अंदर कोड निष्पादित नहीं करेगा क्योंकि Fina1Row चर को कभी भी आरंभिक नहीं किया गया था और इसमें एक शून्य होगा।
संभावित टाइपिंग त्रुटियों के साथ डिबगिंग कोड से निराशा को रोकने के लिए, आप VBA मेनू में टूल, विकल्प खोल सकते हैं। नीचे दिखाए गए वैरिएबल डिक्लेरेशन बॉक्स को चुनें।
![](https://cdn.wiki-base.com/4385379/when_it_makes_sense_to_use_option_explicit_-_excel_tips_4.jpg.webp)
सभी भविष्य के मॉड्यूल एक पंक्ति के साथ शुरू होंगे जो विकल्प स्पष्ट कहते हैं। आपको फ़ाइनलरोज़ और i वेरिएबल्स को परिभाषित करने वाले मैक्रो के शीर्ष पर नई लाइनें जोड़ना होगा। एक्सेल आपको उस गलत वर्तनी के बारे में नहीं बताएगा, जब तक आप वास्तव में मैक्रो को चलाने की कोशिश नहीं करते। फिर वे आपको सचेत करेंगे कि वैरिएबल इज़ नॉट डिफाइन्ड।
![](https://cdn.wiki-base.com/4385379/when_it_makes_sense_to_use_option_explicit_-_excel_tips_5.jpg.webp)
तो, यह आपकी कॉल है। यदि आपको आगे की योजना बनाने और अपने सभी चर घोषित करने में कोई आपत्ति नहीं है, तो आपके पास VBA का सुरक्षा जाल होगा जो आपको यह बताएगा कि आपने गलत तरीके से एक चर टाइप किया है। मेरे लिए, मैं एक समय में कोड एक पंक्ति डिबगिंग का रोमांच पसंद करता हूं और अपनी टाइपिंग गलतियों को खुद से ढूंढता हूं। लेकिन अगर आपको खतरनाक तरीके से जीने का मन नहीं है, तो बेझिझक विकल्प को समझें।
मुझे वास्तव में यकीन नहीं है कि मेरे कार्यों में 12 चरणों के चरण 5, 8, या 9 शामिल हैं। लेकिन अगर किसी ने टाइपिंग त्रुटि के कारण अपने कोड को डिबग करने में अतिरिक्त समय बिताया, तो मुझे आपके उस दर्द के लिए खेद है।
हर शनिवार, मैं एक्सेल में अपनी बुरी आदतों में से एक पर चर्चा करूंगा और चर्चा करूंगा कि हो सकता है कि आपको जो करना है उसके बजाय मैं वही करूं जो मैं कहता हूं।
एक्सेल थॉट्स ऑफ द डे
मैंने अपने एक्सेल के बारे में सलाह के लिए अपने एक्सेल मास्टर दोस्तों से पूछा है। विचार करने के लिए आज का विचार:
"स्प्रेडशीट डेवलपर्स मिड स्क्रैम को न बदलें।"
जॉर्डन गोल्डमेयर