মাল্টি-সিলেক্ট সহ ড্রপডাউন তালিকা

একটি এক্সেল শীটে ক্লাসিক ড্রপ-ডাউন তালিকাটি দুর্দান্ত, তবে এটি আপনাকে উপস্থাপিত সেট থেকে শুধুমাত্র একটি বিকল্প নির্বাচন করতে দেয়। কখনও কখনও এটি আপনি যা চান ঠিক তাই, কিন্তু এমন পরিস্থিতিতে আছে যেখানে ব্যবহারকারীকে বেছে নিতে সক্ষম হতে হবে কিছু তালিকা থেকে উপাদান।

আসুন এই জাতীয় বহু-নির্বাচন তালিকার বেশ কয়েকটি সাধারণ বাস্তবায়ন দেখি।

বিকল্প 1. অনুভূমিক

ব্যবহারকারী একে একে ড্রপ-ডাউন তালিকা থেকে আইটেমগুলি নির্বাচন করে, এবং সেগুলি পরিবর্তিত হওয়া ঘরের ডানদিকে প্রদর্শিত হয়, স্বয়ংক্রিয়ভাবে অনুভূমিকভাবে তালিকাভুক্ত হয়:

এই উদাহরণে C2:C5 সেলগুলিতে ড্রপ-ডাউন তালিকাগুলি একটি আদর্শ উপায়ে তৈরি করা হয়েছে, যেমন

  1. সেল C2:C5 নির্বাচন করুন
  2. ট্যাব বা মেনু উপাত্ত একটি দল নির্বাচন করুন তথ্য বৈধতা
  3. যে উইন্ডোটি খোলে সেখানে একটি বিকল্প নির্বাচন করুন তালিকা এবং একটি পরিসীমা হিসাবে নির্দিষ্ট করুন উৎস তালিকা A1:A8-এর জন্য উৎস ডেটা সহ কক্ষ

তারপরে আপনাকে শীট মডিউলে একটি ম্যাক্রো যুক্ত করতে হবে, যা সমস্ত প্রধান কাজ করবে, অর্থাৎ সবুজ কক্ষের ডানদিকে নির্বাচিত মানগুলি যুক্ত করবে। এটি করার জন্য, ড্রপ-ডাউন তালিকা সহ শীট ট্যাবে ডান-ক্লিক করুন এবং কমান্ডটি নির্বাচন করুন সোর্স কোড. খোলে ভিজ্যুয়াল বেসিক এডিটর উইন্ডোতে নিম্নলিখিত কোডটি পেস্ট করুন:

Private Sub Worksheet_Change(ByVal Target as Range) ত্রুটির উপর পুনরায় শুরু করুন যদি ছেদ না হয়(টার্গেট, রেঞ্জ("C2:C5")) কিছুই নয় এবং টার্গেট। সেল।গণনা = 1 তারপর অ্যাপ্লিকেশন।EnableEvents = False If Len(Target.Off.Off) (0, 1)) = 0 তারপর টার্গেট।অফসেট(0, 1) = টার্গেট অন্য টার্গেট।End(xlToRight)।অফসেট(0, 1) = টার্গেট এন্ড যদি Target.ClearContents Application.EnableEvents = True End যদি শেষ সাব  

প্রয়োজনে, এই কোডের দ্বিতীয় লাইনে C2:C5 ড্রপ-ডাউন তালিকার সংবেদনশীল পরিসরটি আপনার নিজের দিয়ে প্রতিস্থাপন করুন।

বিকল্প 2. উল্লম্ব

আগের সংস্করণের মতোই, তবে নতুন নির্বাচিত মানগুলি ডানদিকে নয়, নীচে যোগ করা হয়েছে:

এটি ঠিক একই ভাবে করা হয়, কিন্তু হ্যান্ডলার ম্যাক্রো কোড সামান্য পরিবর্তিত হয়:

Private Sub Worksheet_Change(ByVal Target as Range) ত্রুটির উপর পুনরায় শুরু করুন যদি ছেদ না হয় (টার্গেট, রেঞ্জ("C2:F2")) কিছুই নয় এবং টার্গেট. সেল. কাউন্ট = 1 তারপরে অ্যাপ্লিকেশন. EnableEvents = False যদি Len(Target.Off.O) (1, 0)) = 0 তারপর Target.Offset(1, 0) = Target Else Target.End(xlDown).অফসেট(1, 0) = টার্গেট এন্ড যদি টার্গেট.ক্লিয়ার কনটেন্ট অ্যাপ্লিকেশন.EnableEvents = True End যদি শেষ সাব  

আবার, যদি প্রয়োজন হয়, এই কোডের দ্বিতীয় লাইনে C2:F2 ড্রপ-ডাউন তালিকার সংবেদনশীল পরিসরটি আপনার নিজের সাথে প্রতিস্থাপন করুন।

বিকল্প 3. একই কক্ষে জমা সহ

এই বিকল্পে, ড্রপ-ডাউন তালিকা যেখানে অবস্থিত সেই একই ঘরে জমা হয়। নির্বাচিত উপাদানগুলি যে কোনো অক্ষর দ্বারা পৃথক করা হয় (উদাহরণস্বরূপ, একটি কমা):

সবুজ কক্ষগুলিতে ড্রপ-ডাউন তালিকাগুলি পূর্ববর্তী পদ্ধতিগুলির মতো সম্পূর্ণ আদর্শ উপায়ে তৈরি করা হয়। সমস্ত কাজ আবার, শীট মডিউলের একটি ম্যাক্রো দ্বারা সম্পন্ন হয়:

Private Sub Worksheet_Change(ByVal Target as Range) ত্রুটির উপর পুনরায় শুরু করুন যদি ছেদ না হয় (টার্গেট, রেঞ্জ("C2:C5")) কিছুই নয় এবং টার্গেট। সেল।গণনা = 1 তারপরে অ্যাপ্লিকেশন।EnableEvents = False newVal = টার্গেট অ্যাপ্লিকেশন। oldval = টার্গেট যদি Len(oldval) <> 0 এবং oldval <> newVal তারপর টার্গেট = টার্গেট & "," & newVal অন্য টার্গেট = newVal End যদি Len(newVal) = 0 তাহলে Target.ClearContents Application.EnableEvents = True End যদি শেষ সাব  

যদি ইচ্ছা হয়, আপনি কোডের 9 তম লাইনে বিভাজক অক্ষর (কমা) আপনার নিজের (উদাহরণস্বরূপ, একটি স্থান বা একটি সেমিকোলন) দিয়ে প্রতিস্থাপন করতে পারেন।

  • কিভাবে একটি এক্সেল শীট ঘরে একটি সাধারণ ড্রপ ডাউন তালিকা তৈরি করবেন
  • বিষয়বস্তু সহ ড্রপডাউন তালিকা
  • অনুপস্থিত বিকল্প যোগ করা ড্রপডাউন তালিকা
  • ম্যাক্রো কি, কিভাবে ব্যবহার করতে হয়, ভিজ্যুয়াল বেসিকে কোথায় ম্যাক্রো কোড ঢোকাতে হয়

নির্দেশিকা সমন্ধে মতামত দিন