وی بی اے آن ایرر گوٹو 0 | ایکسل VBA میں غلطی GoTo 0 پر کیسے استعمال کریں؟

ایکسل وی بی اے آن ایرر گوٹو 0

VBA آن ایرر GoTo 0 عمل میں ایک غلطی ہینڈلر کو غیر فعال کرنے کے لئے استعمال کیا جاتا ہے ایک غلطی ہینڈلر بیان ہے. اسے "غلطی ہینڈلر ڈس ایبلر" کہا جاتا ہے۔

کسی بھی پروگرامنگ زبان میں ہینڈل کرنے میں خامی ایک ماسٹر کلاس ہے جسے تمام کوڈروں کو سمجھنے کی ضرورت ہے۔ وی بی اے پروگرامنگ زبان بھی ، اور ہمارے پاس اس پروگرامنگ زبان میں غلطی سے نمٹنے کی تکنیک بھی موجود ہیں۔ "آن ایرر ریسموم اگلا" غلطی کو سنبھالنے والے کو قابل بناتا ہے اور "آن ایرر GoTo 0" فعال شدہ خرابی ہینڈلر کو غیر فعال کردے گا۔

دونوں "آن دوبارہ غلطی سے دوبارہ شروع کریں" اور "آن غلطی پر GoTo 0" دونوں جوڑے ہیں جو کوڈ کی استعداد کار کے لئے مل کر استعمال کرنے کی ضرورت ہیں۔ غلطی کو سنبھالنے کے ل we ہمیں "آن آن نقص دوبارہ شروع کریں" کے بیان سے شروع کرنے کی ضرورت ہے اور اس غلطی ہینڈلر کو ختم کرنے کے لئے ہمیں "آن ایرر GoTo 0" بیان کو استعمال کرنے کی ضرورت ہے۔

ان بیانات کے درمیان لکھا ہوا کوئی بھی لائن کوڈ کارروائی میں پیش آنے والی کسی بھی قسم کی غلطی کو نظرانداز کرے گا۔

غلطی پر GoTo 0 کے بیان پر کیسے استعمال کریں؟

آپ یہ VBA آن ایرر گوٹو 0 ایکسل ٹیمپلیٹ ڈاؤن لوڈ کرسکتے ہیں - VBA On نقص گوٹو 0 ایکسل ٹیمپلیٹ

مثال کے طور پر نیچے کا کوڈ دیکھیں۔

کوڈ:

 سب On_ErrorExample1 () ورکشیٹس ("شیٹ 1")۔ حد منتخب کریں ("A1")۔ ویلیو = 100 ورکشیٹ ("شیٹ 2")۔ رینج منتخب کریں ("A1")۔ ویلیو = 100 اینڈ سب 

مندرجہ بالا کوڈ کیا کرتا ہے وہ پہلے "شیٹ 1" نامی ورکشیٹ کا انتخاب کرے گا اور سیل A1 میں یہ 100 کی قیمت داخل کرے گا۔

کوڈ:

ورکشیٹ ("شیٹ 1")۔ حد منتخب کریں ("A1")۔ قیمت = 100

اس کے بعد وہ "شیٹ 2" نامی ورک شیٹ کا انتخاب کرے گی اور اسی قدر کو داخل کرے گی۔

کوڈ:

ورکشیٹس ("شیٹ 2")۔ حد منتخب کریں ("A1")۔ قیمت = 100

اب میرے پاس اپنی ورک بک میں چادریں نیچے ہیں۔

"شیٹ 1" اور "شیٹ 2" نامی کوئی شیٹ نہیں ہے ، جب ہم کوڈ چلائیں گے تو اس میں نیچے کی طرح کسی غلطی کا سامنا کرنا پڑے گا۔

چونکہ "شیٹ 1" کے نام سے کوئی شیٹ نہیں ہے اس میں "سب سکریپٹ آف رینج" غلطی کا سامنا کرنا پڑا ہے۔ اس غلطی کو سنبھالنے کے ل I میں میکرو کے اوپری حصے میں ایک غلطی سے متعلق ہینڈلر بیان "اگلا غلطی دوبارہ شروع کریں" میں شامل کروں گا۔

کوڈ:

 سب on_ErrorExample1 () غلطی سے دوبارہ اگلی ورکشیٹ ("شیٹ 1") پر شروع کریں۔ حد ("A1") منتخب کریں۔ ویلیو = 100 ورکشیٹ ("شیٹ 2")۔ حد ("A1") منتخب کریں۔ ویلیو = 100 آخر سب 

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

اس میں کوئی خرابی والے پیغامات نہیں دیئے جائیں گے کیونکہ غلطی سے متعلق ہینڈلر والا بیان اگلا غلطی دوبارہ شروع کرنے پر قابل ہے۔

منظر نامے کا تصور کریں جہاں ہمیں ورک شیٹ "شیٹ 1" کی عدم دستیابی کی صورت میں غلطی کو نظر انداز کرنے کی ضرورت ہے لیکن اگر ہمیں "شیٹ 2" نامی کوئی ورک شیٹ نہیں ہے تو ہمیں مطلع کرنے کی ضرورت ہے۔

چونکہ ہم نے شامل کیا ہے اگلا غلطی دوبارہ شروع کرنے پر اوپری حص itے میں ، اس نے غلطی کو سنبھالنا شروع کیا ہے لیکن اسی کے ساتھ ساتھ ، ہمیں یہ بتانا ہوگا کہ ہمیں اس غلطی کو نظر انداز کرنے کے لئے کتنی لائنوں کی ضرورت ہے۔

اس مثال میں ، ہمیں صرف پہلی ورک شیٹ کے لئے غلطی کو نظر انداز کرنے کی ضرورت ہے لیکن دوسری شیٹ کے بعد ہمیں غلطی پائے جانے کی ضرورت ہے اگر کوئی ورکشیٹ "شیٹ 2" موجود نہیں ہے۔ لہذا پہلے ورکی شیٹ کوڈ میں غلطی کو غیر فعال لائن آن کرنے کے بعد غلطی پر GoTo 0۔

کوڈ:

 سب on_ErrorExample1 () غلطی کو دوبارہ شروع کرنے کے لئے اگلی ورکشیٹ ("شیٹ 1") پر منتخب کریں۔ 

اب ایف 8 کی دبانے سے اثر کو دیکھنے کے لئے کوڈ لائن کو لائن کے ذریعہ چلائیں۔

اب اگر آپ F8 کی دبائیں ایک بار کوڈ عملدرآمد اگلی لائن پر جائے گا اور فعال لائن ٹاسک کو انجام دے دیا جائے گا۔ اب فعال لائن (پیلے رنگ کی لکیر) غلطی سے متعلق ہینڈلر کو "پھر دوبارہ شروع کریں" کی غلطی کا ہینڈلر ہے۔

اب کسی بھی قسم کی خرابی اس وقت ہوتی ہے جب تک یہ غلطی کو سنبھالنے والے کوڈ کو غیر فعال نہیں کرتا ہے تب تک اسے نظرانداز کردیا جائے گا۔غلطی پر GoTo 0”بیان۔

پچھلی کوشش میں ، ہمیں غلطیوں کا سامنا کرنا پڑا ہے لیکن ایک بار اور ایف 8 کی دبائیں اور جادو دیکھیں۔

کسی بھی قسم کی خرابی دیئے بغیر اس نے کوڈ پر عمل درآمد دوبارہ شروع کردیا ہے حالانکہ منتخب کرنے کے لئے ورک شیٹ "شیٹ 2" موجود نہیں ہے۔ اب ایک بار پھر ایف 8 دبائیں۔

چونکہ کوئی شیٹ 1 نہیں تھا وہ A1 سیل میں 500 کی طرح قیمت داخل نہیں کرسکتا ہے لیکن جو کام کرتا ہے وہ 500 A1 سیل A1 میں جو بھی ورک شیٹ فعال ہے ڈال دے گی۔ جب میں کوڈ پر عمل کررہا ہوں تو میری ایکٹو شیٹ "شیٹ 3" تھی ، لہذا سیل کی قیمت A1 میں 100 کی قدر ڈالی جاتی ہے۔

اب کوڈ کی فعال لائن ہے “غلطی پر GoTo 0"، ایف 8 کی دبانے سے اس لائن ٹاسک کو انجام دے دیا جائے گا۔

چونکہ "آن ایرر GoTo 0" کو پھانسی دے دی گئی ہے اس نے غلطی سے نمٹنے کے عمل کو روک دیا ہے اور اگر کوئی ہوا تو دوبارہ غلطیاں دکھانا شروع کردیتا ہے۔ F8 بٹن دبائیں اور خامی دیکھیں۔

پچھلے معاملے میں آن ایرر گوٹو 0 کے بغیر ، اس نے بھی اس غلطی کو نظرانداز کیا ہے ، لیکن چونکہ ہم نے غلطی ہینڈلر کو غیر فعال کرنے والے کو شامل کیا ہے اس نے دوبارہ غلطی ظاہر کرنا شروع کردی ہے۔

یہاں یاد رکھنے والی چیزیں

  • غلطی پر دوبارہ شروع کرنے کے بعد اگلا اور غلطی پر GoTo 0 دونوں کو بطور "استعمال کرنے کی ضرورت ہے۔خرابی ہینڈلر قابل کرنے والا"اور"خرابی ہینڈلر ناکارہ کرنے والا”.
  • ان دونوں بیانات کے مابین کوڈز کی کسی بھی لائن میں کسی غلطی کا سامنا کرنا پڑتا ہے جسے نظر انداز کردیا جائے گا۔
  • اگر غلطی پر GoTo 0 کا بیان موجود ہے تو سب پروسیجر کے خروج کے بعد غلطی کا ہینڈلر غیر فعال ہوجائے گا۔