وی بی اے ریٹرن | وی بی اے میں گوسب ریٹرن اسٹیٹمنٹ کا استعمال کیسے کریں؟

ایکسل وی بی اے ریٹرن اسٹیٹمنٹ

وی بی اے حیرت انگیز ہے اور ان لوگوں کے لئے زندگی بچانے والے جو وی بی اے کوڈنگ کو اندر اور باہر جانتے ہیں ، یہ ہمارے کام کی جگہ پر ٹن ٹائم بچا سکتا ہے۔ ہمارے پہلے کے مضامین میں ، ہم نے بہت ساری چیزوں اور وی بی اے کی واپسی کے تصورات پر تبادلہ خیال کیا ہے۔ ایسا ہی ایک تصور گو گو ریٹرن بیان ہے۔ اس مضمون میں ، ہم آپ کو ان تصورات سے تعارف کروائیں گے۔

گوسب ریٹرن اسٹیٹمنٹ کیا ہے؟

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

یہ غلطی سنبھالنے والے بیان "گوٹو لیبل" کی طرح ہے لیکن "گوسوب ریٹرن" کیا کرتا ہے یہ لیبل کے نام سے جاری رکھنے کی بجائے کوڈ کی اگلی لائن میں واپس آجائے گا۔

ذیل میں وی بی اے گو سبب ریٹرن بیان کا نحو ہے۔

 GoSub [لیبل کا نام]… .. کوڈ آف لائن[لیبل کا نام]:… .. کام کو انجام دینے کے لئے لائن آف کوڈ

میں جانتا ہوں کہ نحو کو پڑھنے سے سمجھنا مشکل ہے لیکن مثال کے استعمال سے آپ تصور کو سمجھنے کے قابل ہوسکتے ہیں۔

اس سے پہلے کہ میں مثالوں پر جاؤں ، مجھے اس بیان کے بارے میں کچھ باتیں بتانے دو۔

  • گوسب اسٹیٹمنٹ نے وی بی اے میں سبروٹائن کو کال کیا ہے جس کا نام ایک لیبل کے ذریعہ اسی روٹین یا فنکشن میں رکھا گیا ہے۔
  • گوسوب اور ریٹرن دونوں ایک ہی طریقہ کار میں ہونگے ، ہم یہاں دوسرا سبروٹین میکرو نہیں کہہ سکتے ہیں۔
  • آپ گوسب ریٹرن کے بہت سے بیانات پیش کرسکتے ہیں۔
  • واپسی کا بیان اس کوڈ پر عمل درآمد جاری رکھے گا جہاں سے لیبل کے نام کے ذریعہ اشارہ کردہ سب پروسیورس پر کود پڑنے سے پہلے ہی اسے چھوڑ دیا تھا۔

وی بی اے میں گوسوب ریٹرن اسٹیٹمنٹ کا استعمال کیسے کریں؟

آپ یہ وی بی اے ریٹرن ایکسل سانچہ یہاں ڈاؤن لوڈ کرسکتے ہیں

مثال # 1

اس بیان کے استعمال کو سمجھنے کے لئے پہلے نیچے دیے گئے کوڈ کو دیکھیں ، بعد میں میں آپ کو لائن لائن کے ذریعہ کوڈ لائن کی وضاحت کروں گا۔

کوڈ:

 سب گوگل 

اس کوڈ کو سمجھنے کے لئے F8 بٹن دبانے سے کوڈ لائن کو لائن لگا کر چلائیں۔ پہلی بار ایف 8 کی دبانے پر ، یہ میکرو چلانے کا آغاز کرے گا۔

اگلی لائن میں جانے کے لئے اب F8 کلید کو ایک بار اور دبائیں۔

ہم سب جانتے ہیں کہ میکرو کوڈ لائن کو لائن کے ذریعہ چلائے گا ، لیکن اگر آپ F8 کلید دبائیں تو اگلی لائن میں نہیں جائے گی بلکہ یہ مختلف طریقے سے کام کرتا ہے۔

یہ "میکرو 1" کے نام سے لیبل پر کود پڑا ہے ، اس کی وجہ یہ ہے کہ پچھلے بیان "گوسوب" میں ہم نے میکرو کو سب پروسیسر لیبل نام "میکرو 1" پر جانے کی ہدایت کی ہے ، لہذا اس کے مطابق اس نے متعلقہ لیبل کے نام پر کود پڑی ہے۔

اب F8 کلید ایکسل میکرو دبانے سے پیغام باکس میں نتیجہ ظاہر کرنے کا لیبل “میکرو ون” کام انجام دے گا۔

کوڈنگ ونڈو پر واپس آنے کے لئے پیغام کے اوکے پر کلک کریں۔

اب اس نے "واپسی" کے بیان کو اجاگر کیا ہے اگر آپ F8 کلید کو ایک بار دبائیں گے تو یہ کیا کرے گا وہ لیبل کے نام پر جانے سے پہلے کوڈ کی سابقہ ​​لائن پر "واپس" واپس آئے گا۔

پچھلی بار اس نے "GoSub Macro1" کوڈ پر عمل درآمد کیا اور اس نے "Macro1" کام کا لیبل لگایا کیونکہ ہم نے "واپسی" بیان کیا ہے یہ کوڈ کی اگلی لائن پر واپس آ گیا ہے۔

"گوسوب میکرو 2"

بیان میں کیا کہا گیا ہے ، وہ ہے ، "گو ٹو لیبل جس کا نام میکرو 2 رکھا گیا ہے"۔ ذیل میں "میکرو 2" کے لیبل میں ، میں نے کام کے ایک مخصوص سیٹ کا ذکر کیا ہے۔

اب ہمیں میسج باکس میں قدر ظاہر کرنے کا دوسرا سب پروسیسر ٹاسک ملے گا۔

اب اوکے پر کلک کریں یہ دوسرے "ریٹرن" کے بیان کو اجاگر کرے گا۔

اب ایف 8 کی بٹن پر کلک کرنے پر ، یہ "میکرو 2" کے لیبل پر لوٹنے سے پہلے کوڈ کی اگلی لائن پر واپس آجائے گا۔ اب یہ "گوسوب میکرو 3" کو اجاگر کرے گا۔

اب یہ "میکرو 3" کے لیبل پر جائے گا ، ایف 8 کی دبائیں۔

اب تیسرا لیبل ٹاسک عمل میں لایا جائے گا۔

اب اوکے پر کلک کریں ، اس سے "واپسی" کے بیان کو اجاگر کیا جائے گا۔

اب ایک بار F8 کی دبانے سے یہ کوڈ “Exit Sub” کی لائن پر واپس جائے گا۔

نہیں ، یہ سبروٹائن سے باہر نکل جائے گا۔ لفظ "ایگزٹ سب" شامل کرنا ضروری ہے ورنہ اس میں کسی خرابی کا سامنا کرنا پڑے گا۔

مثال # 2

اب GoSub واپسی کے بیان کو استعمال کرنے کی ایک اور مثال پر ایک نظر ڈالیں۔

کوڈ:

 سب گو_سب_ریٹرن 1 () ڈم نمبر جیسا لانگ نمبر = ایپلی کیشن۔ ان پٹ بکس (اشارہ: = "براہ کرم یہاں نمبر درج کریں" ، عنوان: = "ڈیوژن نمبر") اگر نمبر> 10 ہے تو گوسب ڈویژن دوسری ممس بوکس "نمبر 10 سے کم ہے" باہر نکلیں سب اینڈ اگر ایگزٹ سب ڈویژن: MsgBox Num / 5 Return End Sub 

یہ کوڈ آپ کو وہ نمبر داخل کرنے کے لئے کہے گا جو 10> ہے ، اگر نمبر 10 ہے تو پھر اسے 5 سے تقسیم کرنے کا کام انجام دے گا (لیبل کا نام "ڈویژن" ہے) ورنہ یہ پیغام کو بطور دکھائے گا "تعداد 10 سے کم ہے"۔

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

  • گوسب اور ریٹرن اسٹیٹمنٹ میں لیبل کا نام ایک جیسا ہونا چاہئے اور جواب میں لیبل کے نام کے بعد کولن (:) ہونا چاہئے۔
  • غلطی پیغام سے بچنے کے لئے تمام واپسی بیانات کئے جانے کے بعد ہمیشہ VBA میں ایگزٹ سب کا استعمال کریں۔