এই আর্টিকেলে আমি দেখাব কিভাবে এক্সেলে VBA রেঞ্জের সাথে ভেরিয়েবল সারি নম্বর ব্যবহার করা যায়। আপনি শিখবেন VBA রেঞ্জ দিয়ে সেল রেঞ্জ সিলেক্ট করা, সেল রেঞ্জে নম্বর ইনসার্ট করা, গাণিতিক অপারেশন করা, এবং সেল রেঞ্জ কালার করা—সবকিছু ভেরিয়েবল সারি নম্বর দিয়ে।
VBA কোড: ভেরিয়েবল সারি নম্বর সহ রেঞ্জ সেট করা (দ্রুত দৃষ্টি)
Sub Range_with_Variable_Row_Number()
First_Cell = InputBox("Enter the First Cell of the Range: ")
Row_Number = Str(Range(First_Cell).Row)
Number_of_Rows = InputBox("Enter the Total Number of Rows of the Range: ")
Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))
End Sub

⧭ কোড ব্যাখ্যা:
- কোডটি দুটি ইনপুট নেয়: রেঞ্জের প্রথম সেল (First_Cell) এবং মোট সারি সংখ্যা (Number_of_Rows)।
- তারপর First_Cell থেকে শুরু করে আপনার চাওয়া সারি সংখ্যা পর্যন্ত একটি রেঞ্জ (Rng) তৈরি করে।
- উদাহরণ: যদি First_Cell হয় B4 এবং Number_of_Rows হয় 10, তবে আউটপুট Rng হবে B4:B13।
- সবসময় First_Cell-এর রিলেটিভ সেল রেফারেন্স ব্যবহার করুন (যেমন B4), এবসোলিউট বা মিক্সড রেফারেন্স না (যেমন $B$4 বা $B4 না)।
ভেরিয়েবল সারি নম্বর সহ VBA রেঞ্জ ব্যবহারের ৪টি উদাহরণ
এখানে একটি ডেটাসেট আছে যেখানে Jupyter Group কোম্পানির কিছু কর্মীর নাম এবং বেতন রয়েছে।

আজ আমরা এই ডেটাসেটে ভেরিয়েবল সারি নম্বর সহ VBA রেঞ্জ নিয়ে কাজ করব।
১. VBA দিয়ে ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জ সিলেক্ট করা
প্রথমে, একটি ম্যাক্রো তৈরি করি যা ভেরিয়েবল সারি নম্বর সহ রেঞ্জ সিলেক্ট করবে। প্রথম ৫ জন কর্মীর নাম সিলেক্ট করব।
VBA কোড:
Sub Select_Range()
First_Cell = InputBox("Enter the First Cell to Select: ")
Row_Number = Str(Range(First_Cell).Row)
Number_of_Rows = InputBox("Enter the Number of Rows to Select: ")
Rng = First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10)
Range(Rng).Select
End Sub

আউটপুট:
Select_Range ম্যাক্রো রান করুন। দুটি ইনপুট বক্স আসবে।
১ম বক্সে রেঞ্জের প্রথম সেল লিখুন। এখানে B4 (প্রথম কর্মীর সেল)।

OK ক্লিক করুন। ২য় বক্সে সারি সংখ্যা লিখুন। এখানে 5।

আবার OK ক্লিক করুন। প্রথম ৫ কর্মীর নাম সিলেক্ট হয়ে যাবে।

আরও পড়ুন: এক্সেল VBA দিয়ে রেঞ্জ থেকে সারি নম্বর পাওয়ার ৯ উদাহরণ
২. ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জে নম্বর ইনসার্ট করা
VBA দিয়ে ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জে নম্বর ইনসার্ট করা যায়—থابت নম্বর বা সিরিজ দুটোই।
প্রথম ৫ কর্মীর বামপাশে ১ থেকে ৫ পর্যন্ত সিরিজ ইনসার্ট করব (অর্থাৎ A4:A8 রেঞ্জে)।
VBA কোড:
Sub Insert_Numbers()
First_Cell = InputBox("Enter the First Cell to Insert Number: ")
Row_Number = Str(Range(First_Cell).Row)
Number_of_Rows = InputBox("Enter the Total Number of Rows to Insert Numbers: ")
Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))
Series_or_Fixed = Int(InputBox("Enter 1 to Enter a Series of Numbers: " + vbNewLine + vbNewLine + "OR" + vbNewLine + vbNewLine + "Enter 2 to Enter a Fixed Number: "))
If Series_or_Fixed = 1 Then
First_Number = Int(InputBox("Enter the First Number: "))
Increment = Int(InputBox("Enter the Increment: "))
For i = 1 To Rng.Rows.Count
Rng.Cells(i, 1) = First_Number + (i - 1) * Increment
Next i
ElseIf Series_or_Fixed = 2 Then
Number = Int(InputBox("Enter the Fixed Number: "))
For i = 1 To Rng.Rows.Count
Rng.Cells(i, 1) = Number
Next i
End If
End Sub

আউটপুট:
Insert_Numbers ম্যাক্রো রান করুন। কয়েকটি ইনপুট বক্স আসবে।
১ম বক্স: নম্বর ইনসার্ট করার প্রথম সেল। এখানে A4।

২য় বক্স: মোট কত সারি ইনসার্ট করবেন। এখানে 5।

৩য় বক্স: সিরিজ নাকি ফিক্সড নম্বর। 1 = সিরিজ, 2 = ফিক্সড। এখানে 1।

৪র্থ বক্স: সিরিজের প্রথম নম্বর। ১ থেকে ৫ চাইলে 1 লিখুন।

৫ম বক্স: ইনক্রিমেন্ট। ১, ২, ৩, ৪, ৫ সিরিজের জন্য 1।

OK ক্লিক করলে A4:A8 রেঞ্জে ১ থেকে ৫ সিরিজ ইনসার্ট হয়ে যাবে।

আরও পড়ুন: এক্সেলে ভেরিয়েবল সারি নম্বর সহ রেঞ্জ ব্যবহারের পদ্ধতি
সমক্ষ পড়াশোনা:
- VBA দিয়ে কলাম নম্বরভিত্তিক রেঞ্জ ব্যবহারের ৪ পদ্ধতি
- সেল ভ্যালু ভিত্তিক রেঞ্জ সিলেক্ট করার ৭ উপায়
- VBA রেঞ্জ অবজেক্ট ব্যবহারের ৫ প্রোপার্টি
- এক্সেলে VBA দিয়ে রেঞ্জ সেট করার ৭ উদাহরণ
- VBA দিয়ে সারি নম্বর খুঁজে বের করার ৪ ম্যাক্রো
৩. ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জে গাণিতিক অপারেশন
এখন একটি ম্যাক্রো তৈরি করি যা ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জে গাণিতিক অপারেশন করবে। ধরা যাক Jupyter Group-এর চিফ প্রথম ৫ কর্মীর বেতন $১০,০০০ বাড়াতে চান।
VBA কোড:
Sub Mathematical_Operation()
First_Cell = InputBox("Enter the First Cell to Perform Operation: ")
Row_Number = Str(Range(First_Cell).Row)
Number_of_Rows = InputBox("Enter the Total Number of Rows to Perform Operation: ")
Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))
Operation = Int(InputBox("Enter the Operation to Perform: " + vbNewLine + "Enter 1 for Addition: " + vbNewLine + "Enter 2 for Subtraction: " + vbNewLine + "Enter 3 for Multiplication: " + vbNewLine + "Enter 4 for Division: "))
Operations = Array("Add", "Subtract", "Multiply", "Divide")
Number = Int(InputBox("Enter the Number to " + Operations(Operation - 1) + ": "))
For i = 1 To Rng.Rows.Count
If Operation = 1 Then Rng.Cells(i, 1) = Rng.Cells(i, 1).Value + Number
If Operation = 2 Then Rng.Cells(i, 1) = Rng.Cells(i, 1).Value - Number
If Operation = 3 Then Rng.Cells(i, 1) = Rng.Cells(i, 1).Value * Number
If Operation = 4 Then Rng.Cells(i, 1) = Rng.Cells(i, 1).Value / Number
Next i
End Sub

আউটপুট:
Mathematical_Operation ম্যাক্রো রান করুন। ৪টি ইনপুট বক্স আসবে।
১ম বক্স: অপারেশন করার প্রথম সেল। এখানে প্রথম কর্মীর বেতন, সেল C4।

২য় বক্স: মোট কত সারিতে অপারেশন করবেন।

৩য় বক্স: কোন অপারেশন করবেন। 1=যোগ, 2=বিয়োগ, 3=গুণ, 4=ভাগ। এখানে 1।

৪র্থ বক্স: কত নম্বর যোগ করবেন। এখানে 10000।

OK ক্লিক করলে প্রথম ৫ কর্মীর বেতন $১০,০০০ বাড়ে যাবে।

আরও পড়ুন: এক্সেলে কলামে স্ট্রিং খুঁজে সারি নম্বর রিটার্ন করার ৭ উপায়
৪. ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জের সেল কালার করা
শেষে, ভেরিয়েবল সারি নম্বরযুক্ত রেঞ্জের সেল কালার করার ম্যাক্রো। প্রথম পাঁচ কর্মীর নাম লাল কালার করব।
VBA কোড:
Sub Color_Range()
First_Cell = InputBox("Enter the First Cell to Color: ")
Row_Number = Str(Range(First_Cell).Row)
Number_of_Rows = InputBox("Enter the Total Number of Rows to Color: ")
Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))
Color_Code = Int(InputBox("Enter the Color Code: " + vbNewLine + "Enter 3 for Color Red." + vbNewLine + "Enter 5 for Color Blue." + vbNewLine + "Enter 6 for Color Yellow." + vbNewLine + "Enter 10 for Color Green."))
Background_or_Text = Int(InputBox("Enter 1 to Color the Whole Background of the Cells: " + vbNewLine + vbNewLine + "Or" + vbNewLine + vbNewLine + "Enter 2 to Color Only the Texts: "))
For i = 1 To Rng.Rows.Count
If Background_or_Text = 1 Then
Rng(i, 1).Interior.ColorIndex = Color_Code
ElseIf Background_or_Text = 2 Then
Rng.Cells(i, 1).Characters(1, Len(Rng.Cells(i, 1))).Font.ColorIndex = Color_Code
End If
Next i
End Sub

আউটপুট:
Color_Range ম্যাক্রো রান করুন। ৪টি ইনপুট বক্স আসবে।
১ম বক্স: কালার করার প্রথম সেল। এখানে প্রথম কর্মী, সেল B4।

২য় বক্স: মোট কত সারি কালার করবেন। এখানে 5।

৩য় বক্স: কালার কোড বেছে নিন (Microsoft Color Code অনুযায়ী)। এখানে 6 (পীতে রঙের জন্য)।

৪র্থ বক্স: পুরো ব্যাকগ্রাউন্ড কালার করতে 1, শুধু টেক্সট কালার করতে 2। এখানে 1।

OK ক্লিক করলে প্রথম ৫ নামের পুরো ব্যাকগ্রাউন্ড হলদে হাইলাইট হবে।

আরও পড়ুন: কারেন্ট সেলের সারি নম্বর পাওয়ার ৪ দ্রুত উপায়
উপসংহার
এই পদ্ধতিগুলো ব্যবহার করে আপনি এক্সেলে ভেরিয়েবল সারি নম্বর সহ VBA রেঞ্জ ব্যবহার করতে পারেন। কোনো প্রশ্ন থাকলে কমেন্টে জানান।
সম্পর্কিত আর্টিকেলসমূহ
- VBA Range Offset ব্যবহারের ১১ উপায়
- এক্সেলে VBA For Each Cell in Range-এর ৩ পদ্ধতি
- এক্সেল VBA দিয়ে রেঞ্জ লুপ করার কমপ্লিট গাইড
- Excel VBA Copy Range to Another Sheet (৮ সহজ উপায়)
- Excel VBA: কলামে স্ট্রিং খুঁজে সারি নম্বর রিটার্ন
- এক্সেল ফর্মুলায় সারি নম্বর ইনক্রিমেন্ট করার ৬ হ্যান্ডি উপায়