VBA में, आप उप या फ़ंक्शन का उपयोग करके बाहर निकल सकते हैं उप से बाहर निकलें या समारोह से बाहर निकलें आदेश।
1 | उप से बाहर निकलें |
1 | समारोह से बाहर निकलें |
जब कोड का निष्पादन आता है उप से बाहर निकलें या समारोह से बाहर निकलें, यह एक उप या फ़ंक्शन से बाहर निकल जाएगा और किसी अन्य कोड निष्पादन के साथ जारी रहेगा।
यदि आप सीखना चाहते हैं कि सब ऑन एरर से कैसे बाहर निकलें, तो इस लिंक पर क्लिक करें: वीबीए ऑन एरर एग्जिट सब
यदि आप सीखना चाहते हैं कि संपूर्ण कोड निष्पादन को कैसे समाप्त किया जाए, तो इस लिंक पर क्लिक करें: VBA End
वीबीए में एक उप से बाहर निकलें
आप उदाहरण पर देखेंगे कि जब हम इसका उपयोग करते हैं तो क्या होता है उप से बाहर निकलें एक उप में आदेश। हमने एक Sub . बनाया बाहर निकलेंसुब, जिसमें है उप से बाहर निकलें अंदर आदेश। उपCallExitSub इसे उप कहते हैं। यहाँ कोड है:
123456789101112131415161718 | निजी उप ExitSub ()डिम आई अस इंटीजरमैं = 1 से 10 . के लिएअगर मैं = 5 तोउप से बाहर निकलेंMsgBox "i का मान है" और iअगर अंतअगला मैंअंत उपनिजी उप CallExitSub ()कॉल ExitSubMsgBox "उप से बाहर निकलें"अंत उप |
में बाहर निकलेंसुब, यदि i का मान 10 से कम है, तो हम पहले For Loop दर्ज करते हैं:
123 | मैं = 1 से 10 . के लिएअगला मैं |
उसके बाद हम अगर कमांड का उपयोग करके जांचते हैं कि i का मान 5 के बराबर है या नहीं। यदि मान 5 है, तो हम उप से बाहर निकलना चाहते हैं और संदेश बॉक्स को i के मान के साथ वापस करना चाहते हैं:
1234 | अगर मैं = 5 तोउप से बाहर निकलेंMsgBox "i का मान है" और iअगर अंत |
यदि शर्त पूरी नहीं होती है, तो निम्न कथन i को 1 से बढ़ा देता है और For लूप में फिर से प्रवेश करता है:
1 | अगला मैं |
में CallExitSub, हम सबसे पहले Sub . कहते हैं बाहर निकलेंसुब:
1 | कॉल ExitSub |
उसके बाद हम संदेश बॉक्स लौटाते हैं:
1 | MsgBox "उप से बाहर निकलें" |
यदि आप चलाते हैं CallExitSub, यह पहले कॉल करेगा बाहर निकलेंसुब. यदि आप इस कोड को डिबग मोड में निष्पादित करते हैं, तो आप देखेंगे कि यह 5 बार लूप से गुजरेगा। 5 . मेंवां पुनरावृत्ति, चर i का मान 5 हो जाता है और कोड अगर शरीर में प्रवेश करता है। अब उप बाहर निकलेंसुब बाहर निकल गया है और वापस आ गया है CallExitSub. अगली पंक्ति है MsgBox "उप से बाहर निकलें":
जैसा कि आप देख सकते हैं, बाहर निकलेंसुब के ठीक बाद बाहर निकलता है उप से बाहर निकलें आदेश, तो MsgBox "i का मान है" और i कभी निष्पादित नहीं किया जाएगा।
वीबीए में एक समारोह से बाहर निकलें
वीबीए में एक समारोह से बाहर निकलना एक उप से बाहर निकलने के समान है, बस आदेश है समारोह से बाहर निकलें. उदाहरण में, हमने बनाया ExitFunc जो एक पूर्णांक देता है। उप कॉल एग्जिट फंक्शन इस फ़ंक्शन को कॉल करता है. यहाँ कोड है:
1234567891011121314151617181920 | निजी फ़ंक्शन ExitFunc () पूर्णांक के रूप मेंडिम आई अस इंटीजरमैं = 1 से 10 . के लिएअगर मैं = 5 तोExitFunc = iसमारोह से बाहर निकलेंअगर अंतअगला मैंअंत समारोहनिजी उप CallExitFunction ()पूर्णांक के रूप में मंद intFuncintFunc = ExitFunction ()MsgBox "intFunc का मान है" और intFuncअंत उप |
में ExitFunc, यदि i का मान 10 से कम है, तो हम पहले For Loop दर्ज करते हैं:
123 | मैं = 1 से 10 . के लिएअगला मैं |
उसके बाद हम अगर कमांड का उपयोग करके जांचते हैं कि i का मान 5 के बराबर है या नहीं। यदि मान 5 है, तो हम फ़ंक्शन परिणाम के लिए i का मान निर्दिष्ट करते हैं और फ़ंक्शन से बाहर निकलते हैं:
1234 | अगर मैं = 5 तोExitFunc = iसमारोह से बाहर निकलेंअगर अंत |
यदि शर्त पूरी नहीं होती है, तो निम्न कथन i को 1 से बढ़ा देता है और For लूप में फिर से प्रवेश करता है:
1 | अगला मैं |
में कॉल एग्जिट फंक्शन, हम पहले फ़ंक्शन को कॉल करते हैं ExitFunc: ऐसा करने के लिए हमें वेरिएबल घोषित करना होगा intFunc पूर्णांक टाइप करें और परिणाम निर्दिष्ट करें ExitFunc इसके लिए कार्य करें:
123 | पूर्णांक के रूप में मंद intFuncintFunc = ExitFunction () |
उसके बाद हम Message बॉक्स को के मान के साथ लौटाते हैं intFunc:
1 | MsgBox "intFunc का मान है" और intFunc |
यदि आप चलाते हैं कॉल एग्जिट फंक्शन, यह पहले फ़ंक्शन को कॉल करेगा ExitFunc. यदि आप इस कोड को डिबग मोड में निष्पादित करते हैं, तो आप देखेंगे कि यह 5 बार लूप से गुजरेगा। 5 . मेंवां पुनरावृत्ति, चर i का मान 5 हो जाता है और कोड अगर शरीर में प्रवेश करता है। अब का मान ExitFunc मैं बन जाता हूं और फ़ंक्शन बाहर निकल जाता है और वापस आ जाता है कॉल एग्जिट फंक्शन. अगली पंक्ति है MsgBox "intFunc का मान है" और intFunc: