वीबीए: त्रुटि होने पर सब से कैसे बाहर निकलें
कोई त्रुटि आने पर आप किसी उपप्रक्रिया से बाहर निकलने के लिए वीबीए में एक्ज़िट सब स्टेटमेंट का उपयोग कर सकते हैं।
व्यवहार में इस कथन का उपयोग करने का एक सामान्य तरीका यहां दिया गया है:
Sub DivideValues()
Dim i As Integer
On Error GoTo ErrorMessage
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
Exit Sub
Error Message:
MsgBox “ An Error Occurred ”
Exit Sub
End Sub
यह विशेष मैक्रो श्रेणी A1:A10 में प्रत्येक मान को श्रेणी B1:B10 में संबंधित मान से विभाजित करने का प्रयास करता है।
यदि कोई त्रुटि होती है (उदाहरण के लिए, हम शून्य से विभाजित करने का प्रयास कर रहे हैं), तो ऑन एरर गोटो स्टेटमेंट वीबीए को एररमैसेज तक पहुंचने के लिए कहता है, जो एक संदेश बॉक्स बनाने के लिए कहता है जो उपयोगकर्ता को बताता है कि एक त्रुटि हुई है और Exist Sub का उपयोग करके उपप्रक्रिया को समाप्त करें। . कथन.कथन.
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण: वीबीए में त्रुटि के मामले में एक उप का अस्तित्व कैसे बनाया जाए
मान लीजिए कि हमारे पास कॉलम ए और बी में मानों की निम्नलिखित सूची है:
अब मान लीजिए कि हम कॉलम ए में प्रत्येक मान को कॉलम बी में संबंधित मान से विभाजित करने के लिए निम्नलिखित मैक्रो बनाते हैं और परिणाम कॉलम सी में प्रदर्शित करते हैं:
Sub DivideValues()
Dim i As Integer
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित त्रुटि प्राप्त होती है:
हमें यह त्रुटि इसलिए प्राप्त हो रही है क्योंकि एक्सेल शीट की चौथी पंक्ति में हमने शून्य से विभाजित करने का प्रयास किया था।
यदि यह त्रुटि होने पर हम उपप्रक्रिया से बाहर निकलना चाहते हैं, तो हम एग्जिट सब स्टेटमेंट का उपयोग इस प्रकार कर सकते हैं:
Sub DivideValues()
Dim i As Integer
On Error GoTo ErrorMessage
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
Exit Sub
Error Message:
MsgBox “ An Error Occurred ”
Exit Sub
End Sub
जब हम इस मैक्रो को चलाते हैं, तो उप-प्रक्रिया किसी त्रुटि का सामना करने से पहले सभी संभावित विभाजन समस्याओं को हल करती है, फिर एक संदेश बॉक्स प्रकट होता है जो हमें बताता है कि एक त्रुटि हुई है और वीबीए बस उप-प्रक्रिया में मौजूद है:
नोट : आप वीबीए में एग्जिट स्टेटमेंट का पूरा दस्तावेज यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए में अन्य सामान्य कार्य कैसे करें:
VBA का उपयोग करके फ़ोल्डर्स कैसे बनाएं
VBA का उपयोग करके फ़ोल्डर्स को कैसे हटाएं
VBA का उपयोग करके फ़ाइलें कैसे हटाएं