আমার একটি শীটে একাধিক চেক বাক্স রয়েছে এবং অন্য একটি শীটে আমার একটি ফর্ম রয়েছে। যখন একটি চেক বাক্স নির্বাচন করা হয়, তারপরে উপযুক্ত সামগ্রীটি ফর্ম শীটে কলাম হিসাবে যুক্ত করা হবে।
আমার কাছে 500 টিরও বেশি চেক বাক্স রয়েছে এজন্য আমি এটি করার একটি সহজ উপায় তৈরি করতে চাই। উদাহরণস্বরূপ আমার কাছে নিম্নলিখিত চেক বাক্স রয়েছে:
- PROJECT_ID
- প্রকল্প শিরোনাম
- প্রকল্পের ধরন
- প্রোজেক্ট অবস্থা
এই চেক বাক্সগুলির অবজেক্টের নাম শুরু হয় CB_
তাই প্রজেক্ট টাইপ চেক বক্সের অবজেক্টের নাম CB_Project_Type
।
ক্লিক করার সাথে সাথে আমি এখন প্রতিটি চেক বাক্সের জন্য একটি ফাংশন তৈরি করেছি। উদাহরণস্বরূপ ফাংশনটির নাম হ'ল Sub CB_Project_Type_Click()
ফাংশনটি সেই কলামটি বিদ্যমান কিনা তা ফর্ম শীটে যুক্ত করে কিনা তা যাচাই করবে।
সমস্ত চেক বাক্সের জন্য একটি ফাংশন তৈরি করা বোকামি হবে। আমি এটির জন্য একটি গতিশীল পদ্ধতি চাই। এর মতো কিছু: যদি "যদি কোনও" চেক বাক্সটি নির্বাচন করা থাকে তবে ফর্ম শিটের সাথে মিলে যাওয়া নামটি কলাম যুক্ত করতে সেই চেক বাক্সের অবজেক্ট নামটি ব্যবহার করুন।
আমি এখনই যা ব্যবহার করছি তা হ'ল:
Sub CB_Projects_Type_Click()
CB_List "Projects_Type"
End Sub
Sub CB_List(Name As String)
If ActiveSheet.Shapes("CB_" & Name).ControlFormat.Value = 1 Then
For i = 0 To 99
If IsEmpty(Sheets("English").Range("B1").Offset(0, i)) Then
Sheets("English").Columns(i + 2).Copy
Sheets("English").Columns(i + 3).Insert
Sheets("English").Range("B1").Offset(0, i).Value = Name
i = 99
End If
Next i
Else
For i = 0 To 99
If Sheets("English").Range("B1").Offset(0, i).Value = Name Then
Sheets("English").Columns(i + 2).Delete
i = 99
End If
Next i
End If
End Sub
সুতরাং আপনি দেখতে পারেন যে কমপক্ষে আমি চেক বাক্স থেকে কলামটি পেতে একটি একক ফাংশন ব্যবহার করছি, তবে এখনও আমার প্রতিটি চেক বাক্সের জন্য একটি সাব তৈরি করতে হবে। আমি কীভাবে 1 টি চূড়ান্ত ফাংশন ব্যবহার করব যা বস্তুর নাম থেকে ফাংশনটির নাম পাবে?
আমি আশা করি আমি পরিষ্কার ছিলাম।