وی بی اے ایگزٹ سب | اگر شرائط پوری نہیں ہوتی ہیں تو VBA سب پروسیجر سے باہر نکلیں

ایکسل وی بی اے ایگزٹ سب پروسیجر

باہر نکلیں سب وی بی اے کوڈز کی تعریف شدہ لائنوں کے مقابلہ میں بیان سب سے پہلے خارج ہوجاتا ہے۔ تاہم ، سب پروسیسر سے باہر نکلنے کے ل we ہمیں کسی نہ کسی طرح کے منطقی امتحان کی ضرورت ہے۔

آئیے اس کی تعمیر آسان الفاظ میں کریں۔

 سب میکرو نام () '...' یہاں کچھ کوڈ '... باہر نکلیں سب' نیچے کوڈ کی مزید لائنوں پر عمل کیے بغیر سب کو باہر نکلیں '...' اس کوڈ کو نظرانداز کیا جائے گا '... آخر سب 

مثالیں

آپ یہ وی بی اے ایگزٹ سب ایکسل ٹیمپلیٹ ڈاؤن لوڈ کرسکتے ہیں۔ وی بی اے ایگزٹ سب ایکسل ٹیمپلیٹ

مثال # 1

بہتر مثال کے لئے نیچے کا کوڈ دیکھیں۔

کوڈ:

 سب Exit_Example1 () D k k Long as K = 1 سے 10 سیلز (k ، 1) کے لئے۔ قیمت = k اگلا k اختتامی سب 

مذکورہ کوڈ خلیات A1 ​​سے A10 میں 1 سے 10 تک سیریل نمبر داخل کرے گا۔

اب میں صرف 5 سیریل نمبرز داخل کرنا چاہتا ہوں اور جیسے ہی متغیر “k” کی ویلیو 6 ہوجاتی ہے ، میں ذیلی سے باہر جانا چاہتا ہوں۔

اس کے ل I ، مجھے ایکسل میں اسی طرح منطقی امتحان شامل کرنا پڑے گا IF k = 6 پھر سب سے باہر نکلیں.

کوڈ:

 سب Exit_Example1 () D K k As Long for k = 1 To 10 اگر k = 6 تو سب سے باہر نکلیں جیسے ہی k کی قیمت 6 ہوجائے گی یہ تمام کوڈز کو نظر انداز کردے گی اور سیل (k ، 1) سے باہر نکل جائے گی۔ قیمت = k اگلا k اختتام سب 

اب ایک لائن کے ذریعہ کوڈ لائن چلائیں۔ کارروائی شروع کرنے کے لئے F8 بٹن دبائیں۔

ابھی تک ، کے ویلیو صفر ہے۔

K قدر کو 1 پر تبدیل کرنے کے لئے ایک بار اور F8 کلید دبائیں۔

لہذا k کی قیمت 1 ہے ہمارا کوڈ چلتا رہتا ہے اور 1 A1 سیل میں داخل ہوگا۔ اس طرح لوپ کو چلاتے رہیں جب تک کے کی ویلیو 6 نہیں ہوجاتی۔

اب k کی قیمت 6 ہے اور کوڈ آف لائن سب پروسیژور سے باہر نکلنے کے لئے ہمارے منطقی ٹیسٹ کو انجام دینے والی ہے۔ اگر میں ایک بار F8 کلید کو دباتا ہوں تو یہ براہ راست صرف تمام ذیلی طریقہ کار سے باہر ہوجائے گا۔

جیسا کہ ہم دیکھ سکتے ہیں اس نے لفظ کو اجاگر کیا ہے سب سے باہر نکلیں. ایف 8 کی دبانے پر ، یہ لفظ پر گئے بغیر سب پروسیسر سے باہر نکل جائے گا "آخر سب".

مثال # 2 - غلطی پر سب پروسیسر سے باہر نکلیں

جب ہمیں غلطی کی اقدار ملیں تو ہم سب پروسیسر سے بھی باہر نکل سکتے ہیں۔ مثال کے طور پر ، نمبر 1 سے نمبر 1 کو تقسیم کرنے کے نیچے دیئے گئے اعداد و شمار پر غور کریں۔

ذیل میں دو نمبروں کی تقسیم حاصل کرنے کے لئے کوڈ ہے۔

کوڈ:

 سب Exit_Example2 () D K k As Long for K = 2 سے 9 سیل (k ، 3). قیمت = خلیات (k ، 1). قیمت / خلیات (k ، 2). قیمت اگلی K آخر سب 

جیسا کہ ہم جانتے ہیں ہم کسی بھی تعداد کو صفر سے تقسیم نہیں کرسکتے ہیں۔ لہذا اگر ہم یہ کرنے کی کوشش کرتے ہیں تو ہمیں رن ٹائم ایرر کے بطور خرابی ملے گی ‘11’: ڈویژن بذریعہ زیرو۔

اس سے بچنے کے ل as جیسے ہی ہمیں کسی غلطی کا سامنا کرنا پڑا میں اپنے میکرو کا تذکرہ کروں گا تاکہ فوری طور پر اثر سے سب پروسیجر سے باہر نکل جا to۔ ذیل میں کوڈ ایک ایسا ہی معاملہ ہے۔

کوڈ:

 سب Exit_Example2 () D K k جب تک K = 2 سے 9 تک غلطی پر جانا GoTo غلطی ہینڈلر سیل (k ، 3). قیمت = خلیات (k ، 1). قیمت / خلیات (k ، 2). قیمت اگلی K نقص آخر سب 

مذکورہ بالا مثال میں ، میں نے "آن ایرر گوٹو ایرر ہینڈلر" کا بیان کیا ہے۔ یہاں ایرر ہینڈلر کا لفظ وہ لیبل ہے جو میں نے تفویض کیا ہے۔ اگر آپ کوڈ کے نیچے دیکھ سکتے ہیں تو میں نے لیبل کا ذکر اسی طرح کیا ہے

نقص ہینڈلر: باہر نکلیں سب 

لہذا جیسے ہی کوڈ میں کسی خرابی کا سامنا کرنا پڑتا ہے تو اس سے کوڈ کو لیبل کودنے کے ل push دباؤ آجائے گا اور لیبل کے پاس "ایگزٹ سب" بیان ہے ، لہذا یہ سب پروسیسر سے باہر نکل جائے گا۔

اب میں کوڈ چلاؤں گا ، اس میں تقسیم کا حساب لگائے گا جب تک کہ اس میں کوئی خرابی نہیں مل جاتی۔

جیسا کہ آپ سیل 77 میں دیکھ سکتے ہیں کہ اسے "ڈویژن از زیرو" کی حیثیت سے کسی غلطی کا سامنا کرنا پڑا ہے لہذا یہ سب پروسیجر سے باہر نکل گیا ہے۔ سب پروسیجر سے باہر نکلنے والے صارف کو بتائے بغیر ہمیشہ ایک خطرناک چیز ہوتی ہے۔ صارف کو غلطی سے آگاہ کرنے کے لئے ہم ایک چھوٹا میسج باکس شامل کرسکتے ہیں۔

کوڈ:

 سب Exit_Example2 () D K k As Long for k = 2 to 9 غلطی پر GoTo غلطی ہینڈلر سیل (k ، 3). قیمت = خلیات (k ، 1). قیمت / خلیات (k ، 2). قیمت اگلی K نقص ہے۔ خرابی واقع ہوگئی ہے اور غلطی یہ ہے کہ: "& vbNewLine & Err.Description Exit Sub Sub End Sub 

مذکورہ کوڈ میں خرابی کا پیغام دکھائے گا اور پھر سب پروسیجر سے باہر نکلیں گے۔ چلانے کے کوڈ میں اگر کوئی خرابی پیش آتی ہے تو یہ VBA میں میسج باکس کو نیچے کی طرح دکھائے گا۔

یہ سب طریقہ کار سے باہر نکلنے کا ایک قابل اعتماد طریقہ ہے۔