इस सवाल के लिए, मैं पद का उल्लेख नीचे अपने आप को स्पष्ट करने के लिए:
Why is my conditional format offset when added by VBA?.Select, .Activesheet, .Activecell आदि ...
कई, कई पदों मैं इन दिनों देखने में, ओपी के चुपचाप अनुमति दी जाती है उपयोग करने के लिए। सक्रिय करें, चयन करें, ओफसेट, आदि ... जबकि वे संभावित बग के लिए खुले दरवाजे हैं (अक्सर अंत उपयोगकर्ताओं के कारण)।
कोड कभी-कभी भी समर्थित है।
मेरा प्रश्न: क्या कोई वैध स्थिति है जहां आप इनमें से किसी भी कथन का उपयोग सीधे उपलब्ध विकल्पों के बिना करेंगे जो इन stmts के परिणामस्वरूप सामान्य बग पकड़ते हैं?
मैं गतिशील समाधान मेरी राय में एक चाहिए हैं कि जब Excel के लिए विकसित करने की बात कर रहा हूँ। व्यक्तिगत रूप से, 6 से अधिक वर्षों में मुझे एक ऐसे मामले को याद नहीं किया जा सकता जहां मुझे इसकी आवश्यकता थी; यह हमेशा उपलब्ध सबसे खराब विकल्पों में से एक माना जाता है। मेरी पिछली कंपनी में, यह एक मूक नियम था जिसका उपयोग कभी नहीं किया गया था और यह केवल मेरे वीबीए जीवन (और अंतिम उपयोगकर्ता का) बेहतर बना दिया।
मैं यह प्रश्न क्यों बना रहा हूं क्योंकि मुझे लगता है कि इन कथनों का उपयोग करते समय वे जो जोखिम उठाते हैं, उनके बारे में जागरूक वीबीए में नए आने वालों के लिए लायक है (अंत उपयोगकर्ता जब अप्रत्याशित कुछ करते हैं तो सिद्ध जोखिम का अनुभव करते हैं - अंत में वे डॉन करते हैं वीबीए के साथ कोई स्नेह नहीं है) और प्रत्यक्ष विकल्पों का प्रस्ताव देने के लिए (मैं यह नहीं कहूंगा कि मैंने हमेशा अपने सामने ऐसा किया है, लेकिन मुझे लगता है कि पहले से ही बग राक्षसों पर त्वरित समाधान देने में कुछ गड़बड़ है)।
मेरा मानना है कि जब चुपचाप अनुमति दी जाती है (जो इसे स्वचालित रूप से इस मामले में बढ़ाती है), वीबीए डेवलपर्स शुरू करने से गलत तरीके से उपकरण बढ़ रहे हैं (और इस प्रकार नए आने वाले भी व्यवहार का वारिस करेंगे - जिसे वे स्टैक से भी सीखेंगे ओवरफ्लो क्योंकि Google उन परिणामों को लौटाता है जो वे देखते हैं (!))।
यदि डेवलपर को पता नहीं है कि वह "चयन" का उपयोग क्यों कर सकता है और किस स्थितियों में यह एक संभावित बग है, तो उसे कभी भी इसका उपयोग नहीं करना चाहिए। व्यक्तिगत रूप से मैं गतिशील रेंज परिभाषा (बग मोड) पर कुछ त्वरित जांच करने के लिए तत्काल विंडो में चुनिंदा एसटीएम का उपयोग कर सकता हूं, लेकिन लिखित कोड में नहीं।
परिणाम अंत में वीबीए को और अधिक अलोकप्रिय बनाता है; परेशानी के मामले में भाषा पीड़ित बन जाएगी (फिर भी यह अभी भी "सर्वोत्तम" प्रोग्रामिंग समर्थन एक्सेल और एक्सेस अनुप्रयोगों के लिए उपलब्ध है)। मैंने देखा है कि यह एक बड़ी कंपनी में कई बार होता है जहां वीबीए हमेशा "बकवास" होता है।
यह केवल मेरा ही ईमानदार अनुभव है।
यह सही या गलत होने का सवाल नहीं है; मुझे प्रश्न पर आपके दृष्टिकोण को सुनने में दिलचस्पी है।
प्रासंगिक: http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros –