Excel Macros-এ For-Next এবং Do-While লুপ দুটি গুরুত্বপূর্ণ কন্ট্রোল স্ট্রাকচার যা পুনরাবৃত্তিমূলক কাজ (loops) পরিচালনা করতে ব্যবহৃত হয়। VBA (Visual Basic for Applications)-এর মাধ্যমে এক্সেল ম্যাক্রোতে এই লুপগুলোর ব্যবহার কাজকে আরও দক্ষ এবং অটোমেটেড করে তোলে। লুপের মাধ্যমে আপনি একটি নির্দিষ্ট কাজ একাধিকবার স্বয়ংক্রিয়ভাবে সম্পন্ন করতে পারেন।
For-Next Loop
For-Next Loop হল একটি কাউন্টেড লুপ, যার মধ্যে আপনি একটি নির্দিষ্ট সংখ্যক বার কাজ করার জন্য নির্দেশ দেন। এটি সাধারণত ব্যবহার করা হয় যখন আপনি জানেন কতোবার লুপটি চলবে।
For-Next Loop এর গঠন:
For i = start_value To end_value [Step step_value]
' Code to be repeated
Next i
- i: লুপের জন্য একটি কাউন্টার ভ্যারিয়েবল।
- start_value: লুপের শুরু অবস্থান।
- end_value: লুপের শেষ অবস্থান।
- step_value: কিভাবে কাউন্টার বাড়বে (ঐচ্ছিক, সাধারণত 1 হয়ে থাকে)।
উদাহরণ:
ধরা যাক, আপনি A1 থেকে A10 পর্যন্ত সেলগুলোতে 1 থেকে 10 পর্যন্ত মান ইনপুট করতে চান। এই কাজটি করতে For-Next লুপ ব্যবহার করা হবে:
Sub FillCells()
For i = 1 To 10
Cells(i, 1).Value = i
Next i
End Sub
এখানে:
- i = 1 To 10: লুপটি 1 থেকে 10 পর্যন্ত চলবে।
- Cells(i, 1).Value = i: প্রতিটি সেলকে 1 থেকে 10 পর্যন্ত মান দেওয়া হবে।
Do-While Loop
Do-While Loop হল একটি কন্ডিশনাল লুপ, যা নির্দিষ্ট শর্ত পূর্ণ না হওয়া পর্যন্ত কাজ করতে থাকে। এটি ব্যবহার করা হয় যখন আপনি জানেন না কতবার লুপটি চলবে, কিন্তু শর্ত পূর্ণ হলে লুপটি থেমে যাবে।
Do-While Loop এর গঠন:
Do While condition
' Code to be repeated
Loop
- condition: এটি একটি শর্ত যা যদি সত্য (True) থাকে, তখন লুপ চলতে থাকে।
উদাহরণ:
ধরা যাক, আপনি A1 সেলে 1 থেকে শুরু করে সংখ্যা গুণে গুণে বাড়াতে চান এবং A1 থেকে A10 পর্যন্ত মান লিখতে চান। এই কাজটি করতে Do-While লুপ ব্যবহার করা হবে:
Sub FillCellsWithDoWhile()
i = 1
Do While i <= 10
Cells(i, 1).Value = i
i = i + 1
Loop
End Sub
এখানে:
- Do While i <= 10: শর্ত হলো, i এর মান 10 এর বেশি না হওয়া পর্যন্ত লুপ চলবে।
- Cells(i, 1).Value = i: সেলের মান দেয়া হবে i এর মানের সাথে।
- i = i + 1: প্রতি ইটারেশনে i 1 বাড়ানো হবে।
For-Next এবং Do-While Loops এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | For-Next Loop | Do-While Loop |
|---|---|---|
| লুপের কাজের সংখ্যা | নির্দিষ্ট সংখ্যক বার কাজ করবে। | শর্ত পূর্ণ না হওয়া পর্যন্ত কাজ করবে। |
| কাউন্টার ভ্যারিয়েবল | অবশ্যই থাকতে হয় (যেমন: i = 1 To 10)। | কাউন্টার ভ্যারিয়েবল নির্দিষ্ট না থাকলেও চলে। |
| কন্ডিশন | কাউন্টেড লুপ। | কন্ডিশনাল লুপ। |
| ব্যবহারের ক্ষেত্রে | যখন সংখ্যার পরিমাণ জানা থাকে। | যখন সংখ্যার পরিমাণ জানা না থাকে। |
For-Next এবং Do-While Loops এর ব্যবহারিক উদাহরণ
১. For-Next Loop এর ব্যবহার
ধরা যাক, আপনি B1 থেকে B5 পর্যন্ত সেলে কিছু মান ইনপুট করতে চান:
Sub FillDataInB1ToB5()
For i = 1 To 5
Cells(i, 2).Value = "Data " & i
Next i
End Sub
এই কোডটি B1 থেকে B5 পর্যন্ত "Data 1", "Data 2", "Data 3", ইত্যাদি মান ইনপুট করবে।
২. Do-While Loop এর ব্যবহার
ধরা যাক, আপনি একটি শর্ত অনুযায়ী সেলগুলোর মান পরিবর্তন করতে চান, যেমন A1 সেলে মান যতক্ষণ না 100 হয়, তখন লুপ চালানো হবে:
Sub DoWhileLoopExample()
i = 1
Do While Cells(i, 1).Value < 100
Cells(i, 1).Value = Cells(i, 1).Value + 10
i = i + 1
Loop
End Sub
এখানে, A1 সেলে 10 করে যোগ হতে থাকবে, যতক্ষণ না সেলের মান 100 এর সমান বা তার বেশি হয়ে যায়।
সারাংশ
For-Next এবং Do-While লুপ Excel Macros এ পুনরাবৃত্তিমূলক কাজের জন্য গুরুত্বপূর্ণ টুল। For-Next Loop সাধারণত নির্দিষ্ট সংখ্যক কাজের জন্য ব্যবহার করা হয়, যেখানে আপনি জানেন কতবার লুপটি চলবে। অন্যদিকে, Do-While Loop শর্ত পূর্ণ না হওয়া পর্যন্ত কাজ করে, যেখানে কতবার লুপ চলবে তা পূর্বানুমান করা সম্ভব নয়। এই লুপগুলোর সঠিক ব্যবহার আপনাকে Excel ম্যাক্রোতে কাজের গতি এবং দক্ষতা বাড়াতে সাহায্য করবে।
Read more