VBA آن غلطی GoTo | وی بی اے میں غلطی کے بیانات کی اقسام
ایکسل وی بی اے آن ایرر GoTo
نقائص کسی بھی کوڈنگ زبان کا حصہ اور پارسل ہیں اور وی بی اے میکرو اس سے مختلف نہیں ہے۔ میری رائے میں ، غلطی کیوں ہوتی ہے اس کا پتہ لگانا 90٪ کام انجام پایا ہے اور اس غلطی کو ٹھیک کرنے کا طریقہ 10٪ ہے۔ ہر کوڈنگ زبان میں کوڈرز اپنے کوڈنگ میں غلطیوں کو سنبھالنے کا اپنا طریقہ استعمال کرتے ہیں ، تو کیا ہم بھی VBA کوڈنگ میں استعمال کریں۔ اکثر اوقات ہمیں غلطی کو نظر انداز کرنے کی ضرورت پڑتی ہے یا اکثر اوقات غلطی ہونے پر ہم مخصوص چیزوں پر جانا چاہتے ہیں۔ ہمیں غلطیوں کو سنبھالنے کے لئے VBA میں استعمال کرنے کی ضرورت ہے۔
اس بیان میں تین طرح کے بیانات ہیں اور ذیل میں فہرست ہے۔
- غلطی پر 0 جائیں
- غلطی پر جائیں [لیبل]
- اگلا غلطی دوبارہ شروع کرنے پر
اس مضمون میں ، ہم دیکھیں گے کہ وی بی اے کوڈنگ میں ان تینوں بیانات کو کس طرح کی غلطیوں سے نمٹنے کے لئے استعمال کیا جاتا ہے۔
خرابی کے بیانات پر وی بی اے کا استعمال کیسے کریں؟
آپ اس وی بی اے آن ایرر گوٹو اسٹیٹمنٹ ٹیمپلیٹ کو ڈاؤن لوڈ کرسکتے ہیں# 1 - غلطی پر دوبارہ شروع کریں اگلا
جیسا کہ بیان میں ہی کہا گیا ہے کہ "آن لائن غلطی دوبارہ شروع کریں" کا مطلب ہے جب بھی غلطی ہوتی ہے تو کوڈ کے اگلے لائن کوڈ میں دوبارہ شروع ہوجاتے ہیں۔ اب نیچے دیے گئے کوڈ پر ایک نظر ڈالیں۔
نیچے دیے گئے کوڈ میں میں نے ورق شیٹ کے ناموں کا تذکرہ کیا ہے اور پہلے خانے میں "غلطی کی جانچ" کے طور پر قیمت داخل کرنے کو کہا ہے۔
کوڈ:
سب آن_ ایرر_ریسمی_نیکسٹ () ورکشیٹس ("Ws 1")۔ منتخب کریں رینج ("A1")۔ ویلیو = "غلطی کی جانچ" ورکشیٹس ("Ws 2")۔ حد کو منتخب کریں ("A1")۔ ویلیو = "غلطی کی جانچ" ورکشیٹس ( "Ws 3")۔ منتخب کریں رینج ("A1")۔ ویلیو = "غلطی کی جانچ" ورکشیٹس ("Ws 4")۔ حد منتخب کریں ("A1")۔ ویلیو = "غلطی کی جانچ" اختتامی سب
اب میرے پاس اپنی ورک بک میں ذیل میں ورک شیٹس ہیں۔
- میں کوڈ چلاؤں گا اور دیکھوں گا کہ کیا ہوتا ہے۔
- ہمیں "سبسکرپٹ آؤٹ رینج" کی خرابی ہو گئی ، یہ دیکھنے کے لئے "ڈیبگ" پر کلک کریں کہ ہمیں کس لائن میں غلطی ہوئی ہے۔
- لہذا "ورکشیٹ (" Ws 3 ")" لائن میں۔ منتخب کریں "ہمیں ایک غلطی ہوئی ، اس کی وجہ یہ ہے کہ ہماری ورک بک میں" Ws 3 "کے نام سے کوئی ورک شیٹ نہیں ہے ، لہذا ایک خرابی کا سامنا کرنا پڑا۔
ایسے معاملات میں ہم غلطی کو نظر انداز کرنا چاہتے ہیں اور کوڈ کے نفاذ کو اگلی لائن پر دوبارہ شروع کرنا چاہتے ہیں ، یہی وہ جگہ ہے جہاں ہمارا "آن ریمیوم دوبارہ شروع کریں" کی غلطی ہینڈلر تصویر میں آجاتا ہے۔
- ہمیں صرف اتنا کرنے کی ضرورت ہے کہ میکرو کے آغاز میں لائن پر "دوبارہ شروع ہونے والے نقص" کو شامل کریں۔
اب اس کوڈ کو عملی جامہ پہنائیں اور اس میں کوئی غلطی کا پیغام نہیں دکھائے گا کیونکہ جب بھی کوڈ کو کسی خرابی کا سامنا کرنا پڑتا ہے تو وہ غلطی کو نظر انداز کردے گا اور کوڈ کی اگلی لائن پر دوبارہ شروع ہوجائے گا۔
# 2 - غلطی پر GoTo 0
"غلطی دوبارہ شروع کریں اگلا" بیان کا استعمال کرکے غلطی کے پیغام کو غیر فعال کرنے کے بعد یہ کوئی خرابی ہینڈلر نہیں بلکہ غلطی کا پیغام دینے والا نہیں ہے۔
جب آپ "اگلا دوبارہ شروع کریں" کے بیان کو استعمال کرتے ہیں تو VBA میکروس اس میں ہونے والی کسی بھی قسم کی غلطی کو نظر انداز کرنا شروع کردیتی ہے اور کوڈز کی اگلی لائن کو جاری رکھے ہوئے رہتی ہے۔ لیکن ہم ہر وقت ایسا نہیں ہونا چاہتے ہیں کیونکہ کچھ غلطیاں ہمیں جان بوجھ کر نظرانداز کرنے کی ضرورت ہوتی ہیں دیگر ہمیں ایک اطلاع کی ضرورت ہے۔
اگر کوڈ کے کسی مخصوص سیٹ نے صرف اس کوڈ کے بلاک میں غلطی پھینک دی ہے تو ہمیں کوڈ کے دوسرے حصوں کو غلطی کو نظر انداز کرنے کی ضرورت ہے جسے ہم غلطی کو نظرانداز نہیں کرنا چاہتے ہیں۔
- "آن ایرر GoTo 0" بیان کے استعمال کے لئے نیچے دی گئی تصویر کو دیکھیں۔
لہذا اب تک غلطیوں کو نظرانداز کیا جائے گا جب تک کوڈ کو غلطی کی اطلاع دینے والا "آن ایرر GoTo 0" نہیں مل جاتا ہے۔ ایک بار اس کوڈ کی لائن نے میکروز کو معمول پر لوٹادیا اور معمول کے مطابق غلطی کے پیغامات پھینکنا شروع کردیئے۔
# 3 - غلطی پر جانے کے لیبل پر
ہم نے دیکھا ہے کہ غلطی کو نظرانداز کرنے کا طریقہ اور غلطی کی اطلاع کو کیسے فعال بنایا جائے۔ اب اس طریقہ کا استعمال کرتے ہوئے ہم کوڈ کی ایک مخصوص لائن میں جاسکتے ہیں۔
اس طریقہ کار میں "لیبل" کا مطلب ہے کہ ہم اس لیبل کو کوئی نام دے سکتے ہیں اور اسی لیبل کو کوڈ کی مطلوبہ لائن پر بھی دیا جانا چاہئے۔
مثال کے طور پر ، مندرجہ بالا مثال سے اسی کوڈ کو دیکھیں۔
آئیے ایف 8 فنکشن کی کلید کو دبانے سے کوڈ لائن کو لائن پر عمل کریں۔
اب میکرو غلطی سے نمٹنے والا بیان پڑھے گا ، F8 کلید کو پہلے 2 ورکشیٹ کوڈ پر عملدرآمد کرے گا۔
اب میکرو تیسرا ورک شیٹ کوڈ پر عملدرآمد کرنے والا ہے جو ورک بک میں موجود نہیں ہے ، ایف 8 کی کو دبائیں ، اور دیکھیں کہ کیا ہوتا ہے۔
چونکہ میکرو کو کوڈ کی نیچے والی لائن میں ایک خامی کا سامنا کرنا پڑا ہے "نقص غلطی" جسے "آن ایرر گوٹو [لیبل]" بیان کے ذریعے بیان کیا گیا تھا۔
اب میسج باکس پیغام کو بطور "غلطی واقع ہوئی ہے اور میکرو سے باہر نکلنا" دکھائے گی۔
یاد رکھنے والی چیزیں
- VBA On غلطی GoTo 0 ایک بار پھر سے غلطی کی اطلاع کو قابل بنائے گی ، لہذا غلطی کے ہینڈلر کی فراہمی کے بعد اس کو شامل کرنا نہ بھولیں۔
- آپ کو کوڈ کے کس حصے میں غلطی کو نظر انداز کرنا چاہتے ہیں اس بارے میں آپ کو قطعی طور پر یقین کرنے کی ضرورت ہے ، لہذا اس کوڈ کے صرف اس بلاک کے لئے غلطی کے ہینڈلر کو بند کریں۔