পরিস্থিতির উপর নির্ভর করে আপনাকে একটি ড্রপ-ডাউন তালিকার মধ্যে একাধিক মান নির্বাচন করতে হতে পারে। এই টিউটোরিয়ালে, আমরা আপনাকে দেখাব কিভাবে একটি ড্রপ-ডাউন তালিকায় একাধিক নির্বাচন করতে হয়। এই সেশনের জন্য, আমরা এক্সেল 2019 ব্যবহার করছি, নির্দ্বিধায় আপনার পছন্দের সংস্করণটি ব্যবহার করুন৷
৷অধিবেশনে ডুব দেওয়ার আগে, আসুন ডেটাসেট সম্পর্কে জেনে নেওয়া যাক যা আমাদের উদাহরণগুলির ভিত্তি৷
এখানে আমাদের কাছে বেশ কিছু স্টেশনারি উপাদান রয়েছে, এগুলো ব্যবহার করে আমরা একটি ড্রপ-ডাউন তালিকা তৈরি করব এবং সেখানে একাধিক আইটেম নির্বাচন করব।
মনে রাখবেন যে জিনিসগুলিকে সোজা রাখার জন্য এটি একটি সাধারণ ডেটাসেট। একটি ব্যবহারিক পরিস্থিতিতে, আপনি অনেক বড় এবং জটিল ডেটাসেটের সম্মুখীন হতে পারেন।
অভ্যাস ওয়ার্কবুক
নীচের লিঙ্ক থেকে অনুশীলনের কার্যপুস্তক ডাউনলোড করতে আপনাকে স্বাগত জানাই৷
একটি ড্রপ-ডাউন তালিকায় একাধিক নির্বাচন
প্রথমত, আমাদের স্টেশনারিজের ভিত্তিতে একটি ড্রপ-ডাউন তালিকা তৈরি করতে হবে। আসুন এটি দ্রুত তৈরি করি। ড্রপ-ডাউন তালিকা তৈরির বিষয়ে নিবন্ধটি দেখতে দ্বিধা করবেন না।
ডেটা যাচাইকরণ-এ ডায়ালগ বক্সে LIST নির্বাচন করুন ডেটা টাইপ এবং আইটেমগুলির সেল পরিসীমা সন্নিবেশ করান।
B4:B11 স্টেশনারী উপাদান ধারণ করা পরিসীমা। এখন আপনি ড্রপ-ডাউন তালিকা পাবেন।
আরো পড়ুন: এক্সেল ড্রপ ডাউন তালিকা নির্বাচনের উপর নির্ভর করে
1. একাধিক আইটেম নির্বাচন করুন (ডুপ্লিকেট নির্বাচনের অনুমতি দেয়)
একটি প্রচলিত ড্রপ-ডাউন তালিকা সর্বদা একটি একক আইটেম নির্বাচন করে। এখানে আপনি দেখতে পাচ্ছেন, আমরা পেন নির্বাচন করেছি তালিকা থেকে (নীচের ছবি)।
এখন, যদি আমরা অন্য একটি আইটেম নির্বাচন করি, তাহলে ধরা যাক পেন্সিল
তারপর এটি পূর্ববর্তী মান প্রতিস্থাপন করবে। শুধুমাত্র পেন্সিল নির্বাচিত থাকবে।
একাধিক আইটেম নির্বাচন করতে, আমাদের VBA ব্যবহার করতে হবে কোড অ্যাপ্লিকেশনের জন্য মাইক্রোসফ্ট ভিজ্যুয়াল বেসিক খুলুন উইন্ডো (ALT + F11 টিপুন এটি খুলতে)।
এখন ওয়ার্কশীটের নাম বা নম্বরে ডাবল ক্লিক করুন যেখানে আপনি ড্রপ-ডাউন তালিকার মধ্যে একাধিক আইটেম নির্বাচন করতে চান। আপনি সেই নির্দিষ্ট শীটের জন্য কোড উইন্ডোটি পাবেন৷
৷
এখানে, Sheet2-এর কোড উইন্ডো আমাদের ওয়ার্কবুকে (আমাদের এই শীটে ড্রপ-ডাউন তালিকা রয়েছে)।
কোড উইন্ডো খোলা হয়ে গেলে, সেখানে নিম্নলিখিত কোডটি প্রবেশ করান
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
On Error GoTo Exitsub
If Target.Address = "$D$4" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
কোডটি সংরক্ষণ করুন, এবং এখন ড্রপ-ডাউন তালিকায় মান নির্বাচন করার চেষ্টা করুন।
পেন্সিল নির্বাচন করা , আমরা আরেকটি আইটেম নোটবুক নির্বাচন করতে যাচ্ছি . এবং আপনি দেখতে পারেন, আমরা উভয় আইটেম খুঁজে পেয়েছি (নীচের চিত্র)।
এই কোড আমাদের নির্বাচন পুনরাবৃত্তি করতে অনুমতি দেবে. ধরা যাক যদি আমরা পেন্সিল নির্বাচন করি আবার,
আমরা নির্বাচন বাক্সে আইটেমটি আবার খুঁজে পাব।
কোড ব্যাখ্যা
আমরা দুটি স্ট্রিং Oldvalue ঘোষণা করেছি এবং Newvalue .
আপনি দেখতে পাচ্ছেন যে আমরা D4-এ ড্রপ-ডাউন তালিকা তৈরি করেছি সেল, তাই আমাদের লক্ষ্য ঠিকানা হল D4 . এবং উপরন্তু, আমরা পুনরায় পরীক্ষা করেছি যে সেলটি ডেটা যাচাইকরণ ব্যবহার করছে নাকি Target.SpecialCells ব্যবহার করছে না। .
একবার একটি মান নির্বাচন করা হলে, আমরা ইভেন্টগুলি বন্ধ করে দিয়েছি (Application.EnableEvents = False
) তাই পরিবর্তনগুলি ইভেন্টটিকে আবার ট্রিগার করে না। তারপর নির্বাচিত আইটেমটিকে Newvalue-এ সংরক্ষণ করুন৷ .
পরিবর্তনটি পূর্বাবস্থায় ফেরানোর পর, আমরা মানটিকে Oldvalue-এ সেট করেছি . তারপর পুরাতন মূল্য কিনা তা পরীক্ষা করুন খালি আছে নাকি নেই। যদি খালি থাকে (মানে শুধুমাত্র একটি মান নির্বাচন করা হয়), তাহলে নতুন মান ফেরত দিন . অন্যথায়, Oldvalue কে সংযুক্ত করুন এবং Newvalue .
ইভেন্ট রিসেট শেষ করার আগে, যাতে আমরা প্রয়োজনে পরিবর্তন করতে পারি।
আরো পড়ুন: একাধিক নির্ভরশীল ড্রপ-ডাউন তালিকা এক্সেল VBA
2. ড্রপ ডাউন তালিকা থেকে একাধিক আইটেম নির্বাচন করুন (শুধুমাত্র অনন্য নির্বাচন)
আগের বিভাগে, আমরা একাধিক নির্বাচন দেখেছি যেখানে পুনরাবৃত্তির অনুমতি দেওয়া হয়েছিল। আপনি যদি তা না চান, তাহলে এই বিভাগটি অনুসরণ করুন।
সুবিধার জন্য, আমরা এই প্রদর্শনের জন্য একটি পৃথক শীট ব্যবহার করেছি। এই সময় আমরা Sheet3 এ আছি। এই শীটের কোড উইন্ডোতে নিম্নলিখিত কোডটি লিখুন।
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Address = "$D$4" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
আগের কোডের তুলনায় কোন পার্থক্য আছে কি! ঘনিষ্ঠভাবে দেখুন, আপনি সামান্য পার্থক্যটি দেখতে সক্ষম হবেন৷
৷এখানে আমরা একটি VBA ব্যবহার করেছি INSTR নামক ফাংশন . INSTR ফাংশন একটি স্ট্রিং এ একটি সাবস্ট্রিং এর প্রথম উপস্থিতির অবস্থান প্রদান করে। আরও তথ্যের জন্য এই INSTR নিবন্ধটি দেখুন।
InStr(1, Oldvalue, Newvalue) =0 এর সাথে এই লজিক্যাল অপারেশন ব্যবহার করে, আমরা পরীক্ষা করেছি যে মানগুলি পাওয়া গেছে কি না। যদি লজিক্যাল অপারেশন TRUE ফেরত দেয় (আগে পাওয়া যায়নি) তারপর এটি আইটেম নির্বাচন করতে এবং আগের মানের সাথে সংযুক্ত করার অনুমতি দেয়।
কোড সংরক্ষণ করুন এবং এখন এমন একটি আইটেম নির্বাচন করার চেষ্টা করুন যা ইতিমধ্যে নির্বাচিত হয়েছে৷
৷
এখানে আমরা ইতিমধ্যেই পেন্সিল নির্বাচন করেছি , যদি আমরা এটি আবার নির্বাচন করতে চাই, আমরা পারি না। এটি ডুপ্লিকেট মান অনুমোদন করে না।
আরো পড়ুন: এক্সেলের অন্য শীট থেকে কীভাবে একটি ড্রপ ডাউন তালিকা তৈরি করবেন
3. নিউলাইনে আইটেম নির্বাচন করুন
এখন পর্যন্ত, আমরা আইটেম একটি কমা দ্বারা পৃথক করা হয়েছে পাওয়া গেছে. এই বিভাগে, আমরা নির্বাচিত আইটেমগুলিকে নতুন লাইনে সাজাব।
সরলতার জন্য, আমরা D4-এর সাথে কয়েকটি ঘর মার্জ করছি কোষ এটি করতে, আপনি যে কক্ষগুলিকে একত্রিত করতে চান তা নির্বাচন করুন এবং একত্রিত করুন এবং কেন্দ্রে ক্লিক করুন৷ সারিবদ্ধকরণ থেকে হোম এর বিভাগ ট্যাব।
কোষ আরও উচ্চতা লাভ করবে।
এখন, নতুন লাইনের মাধ্যমে আইটেমগুলি আলাদা করার জন্য কোডটি দেখুন। নিম্নলিখিত কোড ব্যবহার করুন
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Address = "$D$4" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & vbNewLine & Newvalue
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
আগের কোড থেকে একমাত্র পার্থক্য হল এইবার আমরা vbNewLine ব্যবহার করেছি OldValue এর মধ্যে এবং NewValue .
vbNewLine আইটেমগুলির মধ্যে একটি নতুন লাইন প্রদান করে৷
এখন আইটেম নির্বাচন করুন.
আমরা একটি আইটেম পেন নির্বাচন করি যা উপরের ছবিতে দেখা যাচ্ছে। এখন অন্য একটি উপাদান নির্বাচন করুন৷
৷
আপনি দেখতে পাবেন দুটি আইটেম ভিন্ন লাইনে আছে।
এখানে আমাদের দুটি মান আছে, যা দুটি ভিন্ন লাইনে রয়েছে। অন্য মান নির্বাচন করা অন্য লাইনে যোগ করবে। প্রতিটি মান একটি নতুন লাইনে থাকবে৷
৷
মনে রাখবেন যে আপনি যদি আইটেমগুলিকে আলাদা করতে অন্য ডিলিমিটার চান, তাহলে vbNewline-এর জায়গায় ডবল উদ্ধৃতির মধ্যে এটি ব্যবহার করুন .
উপসংহার
আজ যে জন্য সব. আমরা একটি ড্রপ-ডাউন তালিকায় একাধিক নির্বাচন করার জন্য বিভিন্ন পদ্ধতির তালিকা করেছি। আপনি এই সহায়ক পাবেন আশা করি. কিছু বুঝতে অসুবিধা হলে মন্তব্য করতে দ্বিধা বোধ করুন. আমরা এখানে মিস করেছি এমন অন্য কোন পদ্ধতি আমাদের জানান।
আরও পড়া
- এক্সেলের একাধিক কলামে কীভাবে ড্রপ ডাউন তালিকা তৈরি করবেন (৩টি উপায়)
- এক্সেলে একটি ড্রপ ডাউন তালিকা সহ একটি সেল মান লিঙ্ক করুন (5 উপায়)
- Excel এ শর্তসাপেক্ষ ড্রপ ডাউন তালিকা (তৈরি করুন, সাজান এবং ব্যবহার করুন)
- এক্সেলে ডায়নামিক ডিপেন্ডেন্ট ড্রপ ডাউন তালিকা তৈরি করুন
- এক্সেলে ড্রপ-ডাউন তালিকা তৈরি করতে IF স্টেটমেন্ট কীভাবে ব্যবহার করবেন
- Excel এ ড্রপ ডাউন তালিকা সহ VLOOKUP