এক্সেলে সেল, কলাম, এবং সারি লক করলে আপনার ডেটা রক্ষার স্বাধীনতা मिलে। একটি ওয়ার্কশিট প্রোটেক্ট করার পর, ডিফল্টভাবে প্রতিটি সেল লক হয়ে যায়। এর মানে সেগুলো এডিট করা যাবে না। কিন্তু বিভিন্ন সেল প্রোটেক্ট করলে আপনাকে আনপ্রোটেক্টেড সেলগুলোর ওপর কাজ করার স্বাধীনতা দেয়। এখানে, আপনি সেল লক এবং আনলক করার বিভিন্ন এক্সেল কৌশল দেখব। আমরা ফর্মুলা তৈরি করতে অনেক ডিফল্ট এক্সেল ফাংশন ব্যবহার করতে পারি। আবার, আপনি ওয়ার্কশিট প্রোটেক্ট না করলে সেল লক করার কোনো প্রভাব থাকবে না। এই নিবন্ধ আপনাকে ৬টি আদর্শ উদাহরণ দেখাবে এক্সেল ভিবিএ ব্যবহার করে সেল লক এবং আনলক করা।
নিজে প্র্যাকটিস করার জন্য নিচের ওয়ার্কবুক ডাউনলোড করুন।
এক্সেল ভিবিএ ব্যবহার করে সেল লক ও আনলক করার ৬টি আদর্শ উদাহরণ
এক্সেল ভিবিএ অনেক জটিল কাজ খুব সহজে সম্পাদন করতে পারে। আপনাকে শুধু একটি কোড ইনপুট দিতে হবে বা লিখতে হবে। এই নিবন্ধে, আমরা ভিবিএ প্রয়োগ করব এক্সেলে সেল লক এবং আনলক করার জন্য। বোঝানোর জন্য, আমরা একটি স্যাম্পল ডেটাসেট ব্যবহার করব। উদাহরণস্বরূপ, নিচের ডেটাসেটে সেলসম্যান, পণ্য, এবং নেট সেলস রয়েছে B4:D10 সেল রেঞ্জে। এখানে, আমরা ভিন্ন সেল রেঞ্জ লক করব।

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

- ফলস্বরূপ, ভিবিএ উইন্ডো পপ আউট হবে।
- এখন, ইনসার্ট ➤ মডিউল নির্বাচন করুন।

- ফলস্বরূপ, মডিউল ডায়ালগ বক্স প্রদর্শিত হবে।
- পরবর্তী, নিচের কোডটি কপি করে মডিউল বক্সে পেস্ট করুন।
Sub AllCells() Sheets("All Cells").Cells.Locked = True Sheets("All Cells").Protect End Sub

- ফাইলটি সেভ করুন এবং কোড চালানোর জন্য F5 কী চাপুন।
- অতএব, আপনি যখন যেকোনো সেল এডিট বা মডিফাই করতে চাবেন, তবে নিচের মতো একটি সতর্কবার্তা ডায়ালগ বক্স পাবেন।

২. নির্দিষ্ট সেল লক করার জন্য এক্সেল ভিবিএ প্রয়োগ
এখন, আমরা নির্দিষ্ট সেল লক করার কোড দেখব। আমরা একটি চেক বক্সও ইনসার্ট করব যা লকিং এবং আনলকিং নিয়ন্ত্রণ করবে। তাই অপারেশন চালিয়ে যেতে নিচের ধাপগুলো শিখুন।
ধাপসমূহ:
- প্রথমে সেল রেঞ্জ B4:D10-কে Table1 হিসেবে নাম দিন।

- পরবর্তী, ডেভেলপার ➤ ইনসার্ট ➤ চেক বক্স-এ ক্লিক করুন।

- তারপর, চেক বক্সটি আপনার পছন্দের জায়গায় রাখুন।
- তারপর, শিটের নামের ওপর রাইট-ক্লিক করুন।
- কন্টেক্সট মেনু থেকে ভিউ কোড নির্বাচন করুন।

- পপ-আউট ডায়ালগ বক্সে নিচের কোডটি ইনপুট দিন।
Private Sub CheckBox1_Click() Range("Table1").Select On Error Resume Next If CheckBox1.Value = True Then Selection.Locked = False MsgBox Selection.Address & " Cell Range is Unlocked", vbInformation, "ExcelDemy" Else Selection.Locked = True MsgBox Selection.Address & " Cell Range is Locked", vbInformation, "ExcelDemy" End If End Sub

- ফাইলটি সেভ করুন এবং F5 কী চাপে কোডটি চালান।
- অতএব, বক্সটি চেক করলে সেলগুলো আনলক হবে এবং নিচের মতো একটি ডায়ালগ বক্স ফেরত দেবে।

- একইভাবে, বক্সটি আনচেক করলে সেলগুলো লক হবে।

৩. ভিবিএ ব্যবহার করে শুধু ফর্মুলাযুক্ত সেল লক করুন
তবে, আমরা শুধু সেসব সেল লক করতে পারি যেখানে ফর্মুলা আছে। তাই ফর্মুলাযুক্ত সেল লক করার প্রক্রিয়াটি অনুসরণ করুন।
ধাপসমূহ:
- প্রথমে, উদাহরণ ১-এ বর্ণিত ধাপগুলো অনুসরণ করে মডিউল বক্সটি পান।
- বক্সে নিচের কোডটি টাইপ করুন।
Sub LockCellsWithFormulas() For Each Rng In ActiveSheet.Range("B5:D10") If Rng.HasFormula Then Rng.Locked = True Else Rng.Locked = False End If Next Rng ActiveSheet.Protect "111" End Sub

- उसके बाद, কোড চালানোর জন্য রানসাব বাটনে ক্লিক করুন।
- এখানে আমরা দেখতে পাচ্ছি যে এই কোডটি সেসব সেল লক করবে যেখানে আমরা ফর্মুলা ইনপুট দিয়েছি।
- উদাহরণস্বরূপ, D7-এ একটি ফর্মুলা আছে। তাই আমরা এই সেলটি এডিট করতে পারব না।

৪. কয়েকটি সেল বাদে পুরো ওয়ার্কশিট লক করুন
আরও, আমরা পুরো ওয়ার্কশিট লক করতে পারি কিছু সেল বাদে যেগুলো আমরা নির্দিষ্ট করব। নিচের কোডটি দেখুন যেখানে B5:D10 হলো वो রেঞ্জ যা আমরা আনলক রাখতে চাই। এই রেঞ্জ বাদে, কোড চালানোর পর পুরো ওয়ার্কশিট লক হয়ে যাবে।
Sub WorksheetExceptFewCells() Dim wb As Workbook Set wb = ActiveWorkbook wb.Sheets("Entire Worksheet Except Few").Range("B5:D10").Locked = False wb.Sheets("Entire Worksheet Except Few").Protect passowrd = "111" End Sub

৫. ডেটা এন্ট্রির পর এক্সেলে সেল লক করুন
আরো, কাঙ্ক্ষিত রেঞ্জে ডেটা ইনপুট দেওয়ার পর সেলগুলো লক করা প্রয়োজন। এই উদাহরণে, B4:D10 হলো वो রেঞ্জ যেখানে আমরা ডেটা ইনপুট দিব। তাই এক্সেলে ডেটা এন্ট্রির পর সেল লক করার জন্য নিচের ধাপগুলো অনুসরণ করুন।
ধাপসমূহ:
- প্রথমে, শিটের নামের ওপর রাইট-ক্লিক করুন এবং ভিউ কোড নির্বাচন করুন।
- ডায়ালগ বক্সে নিচের কোডটি ইনপুট দিন।
Dim rg As Range Dim str As String Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Range("B4:D10"), Target) Is Nothing Then Set rg = Target.Item(1) str = rg.Value End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim xg As Range On Error Resume Next Set xg = Intersect(Range("B4:D10"), Target) If xg Is Nothing Then Exit Sub Target.Worksheet.Unprotect Password:="111" If xg.Value <> str Then xg.Locked = True Target.Worksheet.Protect Password:="111" End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Range("B4:D10"), Target) Is Nothing Then Set rg = Target.Item(1) str = rg.Value End If End Sub

- রানসাব বাটন বা F5 কী চাপে কোডটি চালান।
- उसके बाद, রেঞ্জে আপনার ডেটা মান টাইপ করুন।
- এটি স্বয়ংক্রিয়ভাবে লক হয়ে যাবে।
- আপনি যদি এডিট করতে চান, তবে নিচের মতো সতর্কবার্তা ডায়ালগ বক্স পাবেন।

৬. ভিবিএ ব্যবহার করে এক্সেলে সেল আনলক করুন
এতক্ষণ, আমরা সেল লক করার পদ্ধতি ব্যাখ্যা করেছি। এখন, আপনি এক্সেল ওয়ার্কবুকে সেল আনলক করার জন্য নিচের কোডটি ব্যবহার করতে পারেন।
Sub UnlockCells() Sheets("Unlock Cells").Cells.Locked = False Sheets("Unlock Cells").Unprotect End Sub

ভিবিএ ছাড়া এক্সেলে সেল লক এবং আনলক করা
আপনি ভিবিএ ছাড়াও সেল লক এবং আনলক করতে পারেন। আমরা ফরম্যাট সেলস ডায়ালগ বক্স ব্যবহার করতে পারি সেল লক/আনলক করতে। আপনাকে লকড বক্সে চেক দিতে হবে আপনি যদি সেলগুলো লক করতে চান। একইভাবে, সেলগুলো আনলক করতে চাইলে বক্সটি আনচেক করলে হবে। আবার, আপনার ওয়ার্কশিট বা ওয়ার্কবুক প্রোটেক্ট না করলে আপনার সেল লক করার কোনো প্রভাব থাকবে না।
ধাপসমূহ:
- প্রথমে আপনার কাঙ্ক্ষিত রেঞ্জ নির্বাচন করুন।
- তারপর Ctrl এবং 1 কী একসাথে চাপুন।
- এটি ফরম্যাট সেলস ডায়ালগ বক্স ফেরত দেবে।
- প্রোটেকশন ট্যাবে, আপনার প্রয়োজনীয়তা অনুযায়ী লকড বক্স চেক/আনচেক করুন।

- আপনার ওয়ার্কশিট প্রোটেক্ট করতে হলে রিভিউ ট্যাবে যান।
- সেখানে, প্রোটেক্ট শিট নির্বাচন করুন প্রোটেক্ট ড্রপ-ডাউন থেকে।
- তাহলে, শিটটি প্রোটেক্ট হয়ে যাবে।

উপসংহার
অতএব, উপরের বর্ণিত উদাহরণগুলো অনুসরণ করে আপনি এক্সেল ভিবিএ ব্যবহার করে সেল লক এবং আনলক করতে পারবেন। এক্সেলে নির্দিষ্ট সেল লক করলে আপনার ডেটা অন্যদের থেকে সুরক্ষিত রাখার স্বাধীনতা मिलে। এটি আপনাকে অকস্মাত মুছে ফেলা থেকে বাঁচায় বা কেউ আপনার ডেটা বinander করতে রোধ করে। এগুলো ব্যবহার করুন এবং আমাদের জানান আপনার আরও কী উপায় আছে কাজটি করতে। এক্সেলডেমি ওয়েবসাইট ফলো করুন এরকম আরো নিবন্ধের জন্য। মন্তব্য, পরামর্শ, বা প্রশ্ন থাকলে নিচে মন্তব্য বিভাগে জানাতে ভুলবেন না।