ভিবিএ রিটার্ন | ভিবিএতে কীভাবে GoSub রিটার্ন স্টেটমেন্ট ব্যবহার করবেন?

এক্সেল ভিবিএ রিটার্নের বিবৃতি

ভিবিএ আশ্চর্যজনক এবং যারা ভিবিএ কোডিংয়ের অভ্যন্তরীণ কাজ জানেন তাদের জন্য এটি আমাদের কর্মক্ষেত্রে প্রচুর সময় সাশ্রয় করতে পারে। আমাদের আগের নিবন্ধগুলিতে, আমরা ভিবিএ রিটার্নের অনেকগুলি বিষয় এবং ধারণা নিয়ে আলোচনা করেছি। এরকম একটি ধারণা হ'ল গোসব রিটার্নের বিবৃতি। এই নিবন্ধে, আমরা আপনাকে এই ধারণাগুলির সাথে পরিচয় করিয়ে দেব।

GoSub রিটার্ন স্টেটমেন্ট কি?

"গো সাব" বিবৃতিটির অর্থ এটি নামের মাধ্যমে লেবেল দ্বারা নির্দেশিত কোডের লাইনে যাবে এবং "রিটার্ন" বিবৃতি না পাওয়া পর্যন্ত কার্যের একটি নির্দিষ্ট সেটটি সম্পাদন করবে।

এটি "GoTo Label" এরর হ্যান্ডলার স্টেটমেন্টের অনুরূপ তবে "GoSub রিটার্ন" কী করবে তা লেবেলের নাম থেকে চালিয়ে না গিয়ে কোডের পরবর্তী লাইনে ফিরে আসবে।

নীচে ভিবিএ GoSub রিটার্ন স্টেটমেন্টের বাক্য গঠন রচনা রয়েছে।

 GoSub [লেবেলের নাম]… .. কোড অফ লাইন[লেবেলের নাম]:… .. কার্য সম্পাদনের জন্য কোড অফ লাইন

আমি জানি সিনট্যাক্স পড়া থেকে বুঝতে অসুবিধা হয় তবে উদাহরণটি ব্যবহার করে আপনি ধারণাটি বুঝতে সক্ষম হতে পারেন।

আমি উদাহরণগুলিতে যাওয়ার আগে আমাকে এই বিবৃতিটি সম্পর্কে কয়েকটি জিনিস বলি।

  • GoSub স্টেটমেন্ট subboutine কে ভিবিএতে কল করে যা একই রুটিন বা ফাংশনের মধ্যে একটি লেবেল দ্বারা নামকরণ করা হয়।
  • GoSub এবং রিটার্ন উভয়ই একই পদ্ধতির মধ্যে হওয়া উচিত, আমরা এখানে অন্য সাবরুটিন ম্যাক্রো কল করতে পারি না।
  • আপনি যে কোনও সংখ্যক GoSub রিটার্নের বিবৃতি উপস্থাপন করতে পারেন।
  • কোনও রিটার্ন বিবৃতি কোনও লেবেলের নাম দ্বারা সূচিত উপ-প্রসেসরে ঝাঁপ দেওয়ার আগে কোডটি ছেড়ে দেওয়া ছেড়ে দেওয়া শুরু করে।

ভিবিএতে কীভাবে GoSub রিটার্ন স্টেটমেন্ট ব্যবহার করবেন?

আপনি এই ভিবিএ রিটার্ন এক্সেল টেম্পলেটটি এখানে ডাউনলোড করতে পারেন - ভিবিএ রিটার্ন এক্সেল টেম্পলেট

উদাহরণ # 1

এই বিবৃতিটির ব্যবহার বুঝতে প্রথমে নীচের কোডটি দেখুন, পরে আমি আপনাকে কোড লাইন লাইন দিয়ে ব্যাখ্যা করব।

কোড:

 সাব Go_Sub_Return () GoSub ম্যাক্রো 1 'লেবেলের নাম 1 GoSub ম্যাক্রো 2' লেবেল নাম 2 GoSub ম্যাক্রো 3 'লেবেলের নাম 3 প্রস্থান করুন ম্যাক্রো 1: এমএসজিবক্স "এখন চলছে ম্যাক্রো 1" রিটার্ন ম্যাক্রো 2: এমএসবিবক্স "এখন চলছে ম্যাক্রো 2" রিটার্ন ম্যাক্রো3: এমএসজিবক্স "এখন চলছে ম্যাক্রো 3 রিটার্ন শেষ করুন" 

এই কোডটি বোঝার জন্য এফ 8 কী টিপে কোড লাইনটি লাইনে চালানো যাক। প্রথমবার F8 কী টিপানোর পরে এটি ম্যাক্রো চলমান শুরু করবে।

পরবর্তী লাইনে যাওয়ার জন্য এখন F8 কী টিপুন আরও একবার।

আমরা সকলেই জানি ম্যাক্রো কোড লাইনটি লাইন দিয়ে চালাবে, তবে আপনি F8 কী টিপলে এটি পরবর্তী লাইনে যাবে না বরং এটি ভিন্নভাবে কাজ করে।

এটি "ম্যাক্রো 1" নামক লেবেলে ঝাঁপিয়ে পড়েছে, এটি কারণটি ছিল পূর্ববর্তী বিবৃতি "গোসাব" -তে আমরা ম্যাক্রোকে সাব-প্রসিকিউর লেবেলের নাম "ম্যাক্রো 1" এ যেতে নির্দেশ দিয়েছি, সুতরাং সেই অনুসারে এটি সম্পর্কিত লেবেলের নামে ঝাঁপিয়ে পড়েছে।

এখন F8 কী টিপে এক্সেল ম্যাক্রো বার্তা বাক্সে ফলাফল দেখানোর জন্য "ম্যাক্রো 1" টাস্কটি কার্যকর করবে।

কোডিং উইন্ডোতে ফিরে আসতে বার্তার বাক্সে ওকে ক্লিক করুন।

এখন এটি "রিটার্ন" স্টেটমেন্টটি হাইলাইট করেছে যদি আপনি F8 কীটি আরও একবার চাপুন তবে এটি লেবেলের নামটিতে যাওয়ার আগে আগের কোডটির "লাইনে ফিরে" আসবে।

গতবার এটি "GoSub Macro1" কোডটি কার্যকর করেছিল এবং এটি "ম্যাক্রো 1" টাস্কটি সম্পাদন করে যেহেতু আমরা "রিটার্ন" বিবৃতি উল্লেখ করেছি এটি কোডের পরবর্তী লাইনে ফিরে এসেছে I.e.

"GoSub Macro2"

বিবৃতিতে যা বলা হয় তা হ'ল, "ম্যাক্রো 2 হিসাবে নামকরণ করা লেবেল"। "ম্যাক্রো 2" লেবেলের জন্য নীচে, আমি একটি নির্দিষ্ট কাজের সেট উল্লেখ করেছি।

এখন আমরা বার্তা বাক্সে মান দেখানোর দ্বিতীয় উপ-প্রক্রিয়া টাস্কটি পেয়ে যাব।

এখন ওকে ক্লিক করুন এটি দ্বিতীয় "রিটার্ন" স্টেটমেন্টটি হাইলাইট করবে।

এখন F8 কী ক্লিক করার পরে, এটি "ম্যাক্রো 2" লেবেলে ফিরে আসার আগে কোডের পরবর্তী লাইনে ফিরে আসবে। এখন এটি "GoSub Macro3" হাইলাইট করবে।

এখন এটি "ম্যাক্রো 3" লেবেলে যাবে, F8 কী টিপুন।

এখন তৃতীয় লেবেল টাস্ক কার্যকর করা হবে।

এখন ওকে ক্লিক করুন, এটি "রিটার্ন" স্টেটমেন্টটি হাইলাইট করবে।

এখন আরও একবার F8 কী টিপলে এটি কোডটি "প্রস্থানকারী সাব" থেকে ফিরে যাবে।

না, এটি সাবরোটাইন থেকে প্রস্থান করবে। "প্রস্থান উপ" শব্দটি যুক্ত করা প্রয়োজন অন্যথায় এটি একটি ত্রুটির মুখোমুখি হবে।

উদাহরণ # 2

GoSub রিটার্নের বিবৃতিটি ব্যবহারের আরও একটি উদাহরণ দেখুন।

কোড:

 সাব Go_Sub_Return1 () Dim Num As Long Num = অ্যাপ্লিকেশন। ইনপুটবক্স (প্রম্পট: = "দয়া করে এখানে নম্বরটি লিখুন", শিরোনাম: = "ডিভেশন নম্বর") যদি সংখ্যা> 10 হয় তবে GoSub বিভাগের অন্য এমএসজিবক্স "সংখ্যা 10 এর চেয়ে কম হবে" প্রস্থান করুন সাব এন্ড যদি প্রস্থান বিভাগ থেকে বের হয়: এমএসজিবক্স নুম / 5 রিটার্ন শেষ সাব 

এই কোডটি আপনাকে 10 নম্বরটি লিখতে বলবে, যদি নম্বরটি 10 ​​হয় তবে এটি 5 দ্বারা ভাগ করার কাজটি সম্পাদন করবে (লেবেলের নামটি "বিভাগ") অথবা অন্যথায় এটি বার্তাটি প্রদর্শিত হবে "সংখ্যা 10 এর চেয়ে কম"।

মনে রাখার মতো ঘটনা

  • GoSub এবং রিটার্ন স্টেটমেন্টে লেবেলের নাম একই হওয়া উচিত এবং বিনিময়ে বিবৃতিতে লেবেলের নামটি একটি কর্নেল (:) দ্বারা অনুসরণ করা উচিত।
  • ত্রুটি বার্তা এড়ানোর জন্য সমস্ত রিটার্ন স্টেটমেন্ট সম্পন্ন হওয়ার পরে সবসময় ভিবিএতে এক্সিট সাব ব্যবহার করুন।