এই আর্টিকেলে আমি দেখাব কিভাবে VBA দিয়ে এক্সেলে একটি সেল বা সেলের রেঞ্জ সিলেক্ট করা যায়। আপনি শিখবেন একক সেল, সেল রেঞ্জ, নেমড রেঞ্জ সহ সেল, এবং অন্য সেলের সাপেক্ষে সেল সিলেক্ট করা VBA-তে।
এক্সেলে VBA দিয়ে সেল সিলেক্ট করার ৬ উপকারী পদ্ধতি
আসুন VBA দিয়ে সেল বা সেল রেঞ্জ সিলেক্ট করার ৬টি সবচেয়ে উপকারী পদ্ধতি এক্সপ্লোর করি।
১. এক্টিভ ওয়ার্কশিটের সেল সিলেক্ট করা VBA দিয়ে
প্রথমে, VBA দিয়ে এক্টিভ ওয়ার্কশিটের একটি সেল সিলেক্ট করি।
আমার একটি ওয়ার্কবুক আছে Workbook1 নামে। এতে তিনটি ওয়ার্কশিট রয়েছে: Sheet1, Sheet2, এবং Sheet3। এক্টিভ ওয়ার্কশিট হচ্ছে Sheet1।
এক্টিভ ওয়ার্কশিটের যেকোনো সেল (C5 এই উদাহরণে) সিলেক্ট করার কোড:
⧭ VBA কোড:
ActiveSheet.Range("C5").Select
অথবা,
ActiveSheet.Cells(5,3).Select

⧭ আউটপুট:
রান করলে Workbook1-এর এক্টিভ ওয়ার্কশিট Sheet1-এর সেল C5 সিলেক্ট হবে।

২. এক্টিভ ওয়ার্কবুক কিন্তু এক্টিভ ওয়ার্কশিট নয়—SMS সেল সিলেক্ট
এখন এক্টিভ ওয়ার্কবুক কিন্তু এক্টিভ ওয়ার্কশিট নয় এমন একটি সেল সিলেক্ট করি। এক্টিভ শিট Sheet1, কিন্তু এই বার Sheet2-এর সেল C5 সিলেক্ট করব।
নিচের কোড লাইনগুলো ব্যবহার করুন:
⧭ VBA কোড:
Application.Goto Sheets("Sheet2").Range("C5")
অথবা,
Application.Goto Sheets("Sheet2").Cells(5,3)
অথবা,
Sheets("Sheet2").Activate
Range("C5").Select

⧭ আউটপুট:
রান করলে এক্টিভ ওয়ার্কবুক Workbook1-এর Sheet2-এর সেল C5 সিলেক্ট হবে।

৩. এক্টিভ ওয়ার্কবুক বাহিরের সেল সিলেক্ট করা VBA দিয়ে
এবার এক্টিভ ওয়ার্কবুক বাহিরের একটি সেল সিলেক্ট করব।
এক্টিভ ওয়ার্কবুক হচ্ছে Workbook1। কিন্তু একই ফোল্ডারে Workbook2 নামে আরেকটি ওয়ার্কবুক রয়েছে।
Workbook2-এর Sheet1-এর সেল C5 সিলেক্ট করব।
VBA কোড লাইনটি হবে:
⧭ VBA কোড:
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet1").Range("C5")
অথবা,
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet1").Cells(5,3)
অথবা,
Workbooks("Workbook2.xlsx").Activate
Sheets("Sheet1").Select

⧭ আউটপুট:
কোড রান করলে Workbook2-এর Sheet1-এর সেল C5 সিলেক্ট হবে।

৪. VBA দিয়ে সেলের একটি রেঞ্জ সিলেক্ট করা
এ পর্যন্ত আমরা শুধু একক সেল সিলেক্ট করেছি। এবার একটি সেল রেঞ্জ সিলেক্ট করব (উদাহরণস্বরূপ B4:C13)।
যদি এক্টিভ ওয়ার্কশিটের হয়, তবে ব্যবহার করুন:
⧭ VBA কোড:
Range("B4:C13").Select

⧭ আউটপুট:
Workbook1-এর এক্টিভ ওয়ার্কশিট Sheet1-এর সেল B4:C13 সিলেক্ট হবে।

যদি এক্টিভ ওয়ার্কবুক কিন্তু এক্টিভ ওয়ার্কশিট নয় (Sheet2 এই উদাহরণে), তবে ব্যবহার করুন:
⧭ VBA কোড:
Application.Goto Sheets("Sheet2").Range("B4:C13")

⧭ আউটপুট:
এক্টিভ ওয়ার্কবুক Workbook1-এর Sheet2-এর সেল B4:C13 সিলেক্ট হবে।

যদি নন-এক্টিভ ওয়ার্কবুক (Workbook2 এই উদাহরণে) থেকে রেঞ্জ সিলেক্ট করতে চান, তবে এই কোড ব্যবহার করুন:
⧭ VBA কোড:
Application.Goto Workbooks("Workbook2.xlsx").Sheets("Sheet2").Range("B4:C13")

⧭ আউটপুট:
Workbook2-এর Sheet1-এর রেঞ্জ B4:C13 সিলেক্ট হবে।

৫. নেমড রেঞ্জের সেল সিলেক্ট করা VBA দিয়ে
VBA দিয়ে Named Range-এর এক বা একাধিক সেল সিলেক্ট করা যায়।
এক্টিভ শিট Sheet1 of Workbook1-এ একটি Named Range রয়েছে ABC নামে যা B4:C13 রেঞ্জটি ধারণ করে।
ABC নেমড রেঞ্জ সিলেক্ট করার কোড:
⧭ VBA কোড:
Range("ABC").Select

⧭ আউটপুট:
Sheet1 of Workbook1-এর Named Range (B4:C13) সিলেক্ট হবে।

৬. অন্য সেলের সাপেক্ষে সেল সিলেক্ট করা (Offset Property)
শেষে, VBA-র Offset property ব্যবহার করে অন্য সেলের সাপেক্ষে সেল সিলেক্ট করা যায়।
উদাহরণ: এক্টিভ ওয়ার্কশিট Sheet1 of Workbook1-এ সেল C5-থেকে ২ সারি নিচে এবং ৩ কলাম ডানে থাকা সেল সিলেক্ট করব।
কোড লাইনটি:
⧭ VBA কোড:
Range("C5").Offset(2, 3).Select
অথবা,
Cells(5,3).Offset(2, 3).Select
⧭ আউটপুট:
সেল F7 সিলেক্ট হবে, যা C5-থেকে ২ সারি নিচে এবং ৩ কলাম ডানে অবস্থিত।

উপসংহার
এই পদ্ধতিগুলো ব্যবহার করে আপনি VBA দিয়ে এক্সেলে সেল বা সেল রেঞ্জ সিলেক্ট করতে পারেন। কোনো প্রশ্ন থাকলে কমেন্টে জানান।
সম্পর্কিত পড়াশোনা
- VBA দিয়ে কলাম সিলেক্ট করার ৩ পদ্ধতি