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

DoEvents फ़ंक्शन का उपयोग कैसे करें?
आवश्यकता होने पर बड़ी मात्रा में VBA कोड की आवश्यकता होती है। उन मामलों में, एक्सेल लटका रहता है और कुछ समय के लिए रुक जाता है, और यहां तक कि कभी-कभी, यह अनुत्तरदायी हो जाता है।
उदाहरण के लिए, नीचे दिए गए कोड को देखें।
कोड:
उप DoEvents_Example1 () डिम i ऐज़ लॉन्ग फॉर आई = 1 टू 100000 रेंज ("A1")। वैल्यू = आई नेक्स्ट मैं एंड सब।

उपरोक्त कोड 1 से 100000 तक सीरियल नंबर डालेगा। कार्य को निष्पादित करने में आसानी से एक मिनट से अधिक समय लगेगा। निष्पादन के दौरान, कार्य पूरा करने के लिए एक्सेल काफी समय तक लटका रहता है। इस समय के दौरान, एक्सेल संदेश को "एक्सेल नॉट रिस्पॉन्सिंग" के रूप में दिखाता है।

इसके अलावा, हम जिस वर्कशीट पर काम कर रहे हैं, हम उस तक नहीं पहुँच सकते। यह एक निराशाजनक बात है, फिर हम एक्सेल वर्कशीट को काम करने के लिए कैसे उपलब्ध कराते हैं जबकि कोड स्क्रीन के पीछे चल रहा होता है।
यह एक VBA DoEvents फ़ंक्शन को जोड़कर प्राप्त किया जा सकता है ।
कोड:
उप DoEvents_Example1 () डिम i ऐज लॉन्ग फॉर i = 1 टू 100000 रेंज ("A1")। वैल्यू = i DoEvents अगला i एंड सब

जिस क्षण हम फ़ंक्शन DoEvents को कोड में जोड़ते हैं, हम एक्सेल वर्कशीट तक पहुँच सकते हैं।

ऊपर से, हम देख सकते हैं कि कोड चल रहा है, लेकिन हम वर्कशीट तक पहुँच सकते हैं।
कोड को बाधित करना
जब कोड स्क्रीन के पीछे चल रहा होता है, तो हम पंक्तियों, कॉलम को जोड़ सकते हैं और उसी को हटा सकते हैं, हम शीट का नाम बदल सकते हैं, और हम कई अन्य चीजें भी कर सकते हैं। जिस क्षण हम DoEvents जोड़ते हैं, यह VBA कोड को तेज़ी से चलाता है और हमें गिराने की अनुमति देता है कि उल्लिखित कार्य स्वयं के लिए चल रहा है।
- DoEvents फ़ंक्शन के खतरों में से एक है जब हम कार्यपत्रकों या कार्यपुस्तिकाओं को स्विच करते हैं, और यह सक्रिय शीट मानों को अधिलेखित कर देता है।
- एक और खतरा यह है कि यदि हम सेल में किसी भी मूल्य को दर्ज करते हैं, तो कोड निष्पादन रुक जाता है, और यह हमें सूचित भी नहीं करता है।