ভিবিএ এমএসজিবক্স হ্যাঁ / না | কীভাবে হ্যাঁ / কোনও প্রতিক্রিয়া তৈরি করবেন?
এক্সেল ভিবিএ এমএসজিবক্স (হ্যাঁ / না)
ভিতরে ভিবিএ, বার্তা বাক্স ব্যবহার করে আমরা একটি তৈরি করতে পারি হ্যাঁ না কোনও ইউপিএসবক্স যা হ্যাঁ বা না-র ক্লিকের উপর ভিত্তি করে ব্যবহারকারী ইনপুট রেকর্ড করতে ব্যবহৃত হয়, হ্যাঁ কোনও বার্তা বাক্স তৈরি করতে সিনট্যাক্সটি নীচে ভেরিয়েবল = এমএসজিবক্স ("পাঠ্য", vbQuestion + vbYesNo + vbDefaultButton2, "বার্তা বাক্স শিরোনাম") যেখানে ভেরিয়েবল হয় পূর্ণসংখ্যা হিসাবে ঘোষণা করতে হবে।
প্রায়শই ভিবিএ কোডিংয়ে ব্যবহারকারীদের হ্যাঁ বা না কোনও প্রতিক্রিয়া সংগ্রহ করার জন্য আমাদের কিছু কার্য সম্পাদনের জন্য ব্যবহারকারীদের কাছ থেকে ইনপুট মান সংগ্রহ করতে হবে। ভিবিএ এমএসজিবক্স হ্যাঁ কোনও পদ্ধতি ব্যবহার করে আমরা কোডটিতে আরও এগিয়ে যাওয়ার জন্য কোডটি লিখতে পারি না।
নির্দিষ্ট পরিস্থিতিতে আমাদের প্রতিক্রিয়া জানাতে ব্যবহারকারীর সামনে হ্যাঁ বা কোনও বিকল্প উপস্থাপন করতে হতে পারে এবং সেই প্রতিক্রিয়ার উপর ভিত্তি করে আমরা আসলে ভিবিএ কোড চালাতে পারি।
উদাহরণস্বরূপ, ভিবিএতে এমএসবিবক্সের নীচের চিত্রটি দেখুন।
যদি ব্যবহারকারী হ্যাঁ বলে “আমরা নির্দিষ্ট কাজ সম্পাদন করতে কোড লিখতে পারি” এবং ব্যবহারকারী যদি “না” বলে তবে আমরা অন্য একটি কার্য সম্পাদন করার জন্য কোড লিখতে পারি।
এমএসজিবক্স হ্যাঁ / কোনও প্রতিক্রিয়া না দিয়ে কীভাবে কাজ করবেন?
আপনি এই ভিবিএ মেসেজ বক্সটি হ্যাঁ বা কোনও এক্সেল টেম্পলেটটি এখানে ডাউনলোড করতে পারেন - ভিবিএ মেসেজ বক্স হ্যাঁ বা কোনও এক্সেল টেম্পলেট নয়উদাহরণ # 1 - প্রতিক্রিয়ার উপর ভিত্তি করে অনুলিপি করুন এবং আটকান
উদাহরণস্বরূপ, নীচের কোডটি দেখুন।
কোড:
সাব মেসেজবক্স_এইএস_না_এক্সেম্পল 1 () স্ট্রিং ডিমের মতো ম্লান উত্তর হ্যাঁ উত্তর নেই স্ট্রিং উত্তর হিসাবে নেই = এমএসবিবক্স ("আপনি কি অনুলিপি করতে চান?", VbQuestion + vbYesNo, "ব্যবহারকারী রেপসন") যদি উত্তর হ্যাঁ = vbYes তবে রেঞ্জ ("এ 1: এ 2") অনুলিপি করুন। ("সি 1") অন্য রেঞ্জ ("এ 1: এ 2")। কপি রেঞ্জ ("E1") শেষ হলে শেষ হবে
ব্যাখ্যা:
উপরেরটি ভেরিয়েবলটিকে স্ট্রিং হিসাবে ঘোষণা করেছে i.e.
স্ট্রিং হিসাবে ধীর উত্তর Y
পরের লাইনে, আমরা "আপনি কি অনুলিপি করতে চান?" জিজ্ঞাসা করে বার্তা বাক্সের মাধ্যমে মানটি নির্ধারণ করেছি।
উত্তর হ্যাঁ = এমএসবিবক্স ("আপনি কি অনুলিপি করতে চান?", VbQuestion + vbYesNo, "ইউজার রিপসনস")
এখন যদি আইএফ বিবৃতি বার্তা বাক্সের মাধ্যমে দেওয়া প্রতিক্রিয়া মূল্যায়ন করে। যদি মেসেজ বক্সের ফলাফল হয় vbYes তারপরে এটি A1 এর পরিসীমাটি A2 এ অনুলিপি করবে এবং ঘর C1 এ আটকান।
যদি উত্তরহয়েস = vbYes তবে বিস্তৃত রেঞ্জ ("এ 1: এ 2") Copy অনুলিপি করুন ("সি 1")
বার্তা বাক্সের দেওয়া প্রতিক্রিয়া যদি না হয় তবে এটি A1 এর পরিসীমা অনুলিপি করে সেল E1 এ পেস্ট করবে।
অন্য রেঞ্জ ("এ 1: এ 2")। কপির রেঞ্জ ("ই 1") শেষ হলে If
ঠিক আছে, আমি এখন সেল এ 1 এবং এ 2 তে কয়েকটি মান প্রবেশ করিয়েছি।
এখন আমি এফ 5 কী ব্যবহার করে বা রান বিকল্পের মাধ্যমে কোডটি চালাব, একটি বার্তা বাক্স আমার সামনে উপস্থিত হবে এবং আমার প্রতিক্রিয়া জানতে চাইবে।
আমি যদি হ্যাঁ ক্লিক করি তবে এটি A1 থেকে A2 এর পরিসীমাটি অনুলিপি করবে এবং সি 1 ঘরে পেস্ট করবে। এখন আমি হ্যাঁ ক্লিক করব এবং ফলাফলটি দেখতে পাচ্ছি।
সুতরাং এটি কার্য সম্পাদন করেছে যদি প্রতিক্রিয়া হ্যাঁ হয়।
এখন আবার আমি কোড চালাব।
এবার আমি নির্বাচন করব না এবং কী হবে তা দেখুন।
হ্যাঁ এটি কোডে নির্ধারিত কাজটি সম্পাদন করেছে।
অন্য রেঞ্জ ("এ 1: এ 2")। কপির রেঞ্জ ("ই 1")
উদাহরণ # 2 - প্রতিক্রিয়ার উপর ভিত্তি করে পত্রকগুলি লুকান ও লুকান
যদি প্রতিক্রিয়া হ্যাঁ হয় তবে নীচের কোডে সক্রিয় শীট ব্যতীত সমস্ত শীট আড়াল করা হবে।
কোড:
সাব হাইডএল () স্ট্রিং ডিম ডাব্লু ওয়ার্কশিট হিসাবে ডিম জবাব উত্তর = এমএসজিবক্স ("আপনি কি সবগুলি লুকিয়ে রাখতে চান?", VbQuestion + vbYesNo, "লুকান") যদি উত্তর = vbYes তবে প্রতিটি ওয়ার্ল্ডের জন্য অ্যাক্টিভ ওয়ার্কবুক. ওয়ার্কশিট যদি Ws.Name অ্যাক্টিভশিট.নম তারপরে Ws.Visible = xlSheetVeryHid Next Ws ElseIf উত্তর = vbNo তাহলে MsgBox "আপনি চাদরগুলি না লুকানোর জন্য নির্বাচন করেছেন", vbInformation, "কোনও আড়াল নেই" শেষ হলে শেষ হবে না
উপরের কোডটি শীঘ্রই আমাদের থাকা শীট ব্যতীত সমস্ত কার্যপত্রককে আড়াল করে রাখবে যদি বার্তা বাক্সের প্রতিক্রিয়া হ্যাঁ হয়।
বার্তা বাক্স থেকে প্রতিক্রিয়া যদি না হয় তবে এটি বার্তা বাক্সটি প্রদর্শন করবে "আপনি পত্রকগুলি না লুকানোর জন্য নির্বাচন করেছেন"।
অনুরূপভাবে, প্রতিক্রিয়া হ্যাঁ হলে নীচের কোডটি শীটটি প্রদর্শন করবে।
কোড:
সাব আনহাইডএল () স্ট্রিং ডিম ডাব্লু ওয়ার্কশিট হিসাবে ডিম জবাব উত্তর = এমএসবিবক্স ("আপনি কি সকলকে আড়াল করতে চান?", VbQuestion + vbYesNo, "লুকান") যদি উত্তর = vbYes তবে প্রতিটি ওয়ার্কে অ্যাক্টিভ ওয়ার্কবুক. ওয়ার্কশিটস Ws.Visible = xlSheetVeryHided Next Ws ElseIf উত্তর = vbNo তাহলে এমএসজিবক্স "আপনি চাদরগুলি না দেখাতে বেছে নিয়েছেন", vbInformation, "কোনও আড়াল করবেন না" শেষ হলে শেষ হবে না
এটি হাইড শীট কোডের মতো হুবহু একই রকম কাজ করে, যদি হ্যাঁ এটি লুকিয়ে রাখে, যদি না হয় তবে এটি লুকিয়ে রাখবে না।