VBA প্রোগ্রামিং প্ল্যাটফর্ম যা প্রায় সমস্ত Microsoft Office পণ্য জুড়ে চলে তা হল সবচেয়ে শক্তিশালী টুলগুলির মধ্যে একটি যা যে কেউ এই পণ্যগুলির ব্যবহার উন্নত করতে ব্যবহার করতে পারে৷
নতুনদের জন্য এই VBA নির্দেশিকা আপনাকে দেখাবে কীভাবে আপনার অফিস অ্যাপ্লিকেশনে বিকাশকারী মেনু যোগ করতে হয়, কীভাবে VBA সম্পাদক উইন্ডোতে প্রবেশ করতে হয় এবং কীভাবে মৌলিক VBA বিবৃতি এবং লুপগুলি কাজ করে যাতে আপনি এক্সেল, ওয়ার্ড, পাওয়ার পয়েন্টে VBA ব্যবহার শুরু করতে পারেন, আউটলুক, এবং OneNote।
এই VBA গাইড মাইক্রোসফট অফিস পণ্যের সর্বশেষ সংস্করণ ব্যবহার করে। আপনার যদি পূর্ববর্তী সংস্করণ থাকে তবে আপনি স্ক্রিনশট থেকে কিছু সামান্য পার্থক্য দেখতে পারেন।
কীভাবে VBA এডিটর সক্রিয় ও ব্যবহার করবেন
এই নির্দেশিকায় ব্যবহৃত যেকোনো অফিস পণ্যে, আপনি লক্ষ্য করতে পারেন যে আপনার কাছে উল্লেখিত বিকাশকারী মেনু নেই। বিকাশকারী মেনু শুধুমাত্র Excel, Word, Outlook, এবং PowerPoint-এ উপলব্ধ। OneNote অ্যাপ্লিকেশনের ভিতর থেকে VBA কোড সম্পাদনা করার জন্য একটি টুল অফার করে না, তবে আপনি এখনও অন্যান্য অফিস প্রোগ্রাম থেকে OneNote এর সাথে ইন্টারঅ্যাক্ট করতে OneNote API উল্লেখ করতে পারেন।
আপনি আমাদের আসন্ন অ্যাডভান্সড VBA গাইডে এটি কীভাবে করবেন তা শিখবেন৷
৷- যেকোন অফিস পণ্যে বিকাশকারী মেনু সক্ষম করতে, ফাইল নির্বাচন করুন মেনু, এবং বিকল্পগুলি নির্বাচন করুন বাম নেভিগেশন মেনু থেকে।
- আপনি একটি অপশন মেনু পপ-আপ দেখতে পাবেন। রিবন কাস্টমাইজ করুন নির্বাচন করুন বাম নেভিগেশন মেনু থেকে।
বাম তালিকায় সেই অফিস অ্যাপ্লিকেশনে উপলব্ধ সমস্ত মেনু এবং মেনু কমান্ড অন্তর্ভুক্ত রয়েছে। ডানদিকের তালিকা হল সেগুলি যা বর্তমানে উপলব্ধ বা সক্রিয়৷
৷- আপনার ডানদিকে তালিকায় বিকাশকারী দেখতে হবে, কিন্তু এটি সক্রিয় করা হবে না। বিকাশকারী মেনু সক্রিয় করতে চেকবক্সটি নির্বাচন করুন৷ ৷
- যদি আপনি ডেভেলপার দেখতে না পান ডানদিকে উপলব্ধ, তারপর বাম পরিবর্তন করুন কমান্ড চয়ন করুন ড্রপডাউন থেকে সমস্ত কমান্ডে . ডেভেলপার খুঁজুন তালিকা থেকে এবং যোগ করুন>> নির্বাচন করুন রিবনে সেই মেনু যোগ করতে কেন্দ্রে।
- ঠিক আছে নির্বাচন করুন যখন আপনি সম্পন্ন করেন।
- একবার বিকাশকারী মেনু সক্রিয় হলে, আপনি আপনার প্রধান অ্যাপ্লিকেশন উইন্ডোতে ফিরে যেতে পারেন এবং ডেভেলপার নির্বাচন করতে পারেন উপরের মেনু থেকে।
- তারপর কোড দেখুন নির্বাচন করুন VBA সম্পাদক উইন্ডো খুলতে রিবনের কন্ট্রোল গ্রুপ থেকে।
- এটি VBA সম্পাদক উইন্ডো খুলবে যেখানে আপনি পরবর্তী কয়েকটি বিভাগে যে কোডটি শিখবেন তা টাইপ করতে পারবেন।
- আপনি প্রতিদিন ব্যবহার করেন এমন কয়েকটি অফিস অ্যাপ্লিকেশনে বিকাশকারী মেনু যোগ করার চেষ্টা করুন। একবার আপনি VBA সম্পাদক উইন্ডো খুলতে স্বাচ্ছন্দ্য বোধ করলে, এই গাইডের পরবর্তী বিভাগে চালিয়ে যান।
শিশুদের জন্য সাধারণ VBA প্রোগ্রামিং টিপস
VBA সম্পাদক খুললে আপনি লক্ষ্য করবেন, বাম প্যানেলে নেভিগেশন বিকল্পগুলি একটি অফিস অ্যাপ্লিকেশন থেকে অন্যটিতে আলাদা দেখায়৷
এর কারণ হল উপলব্ধ বস্তু যেখানে আপনি VBA কোড রাখতে পারেন তা নির্ভর করে অ্যাপ্লিকেশনটিতে কোন বস্তু রয়েছে তার উপর। উদাহরণস্বরূপ, এক্সেলে, আপনি ওয়ার্কবুক বা শীট অবজেক্টে VBA কোড যোগ করতে পারেন। Word এ, আপনি নথিতে VBA কোড যোগ করতে পারেন। পাওয়ারপয়েন্টে, শুধুমাত্র মডিউলগুলিতে।
সুতরাং, বিভিন্ন মেনু দেখে অবাক হবেন না। VBA কোডের গঠন এবং সিনট্যাক্স সমস্ত অ্যাপ্লিকেশন জুড়ে একই। একমাত্র পার্থক্য হল আপনি যে অবজেক্টগুলিকে উল্লেখ করতে পারেন এবং VBA কোডের মাধ্যমে সেই বস্তুগুলিতে আপনি যে পদক্ষেপগুলি নিতে পারেন৷
আমরা ভিবিএ কোডের মাধ্যমে আপনি সেগুলির উপর নিতে পারেন এমন বিভিন্ন অবজেক্ট এবং অ্যাকশনের মধ্যে ডুব দেওয়ার আগে, প্রথমে আপনি VBA কোড লেখার সময় সবচেয়ে সাধারণ VBA কাঠামো এবং সিনট্যাক্স ব্যবহার করতে পারেন তা দেখুন৷
VBA কোড কোথায় রাখবেন
আপনি যখন VBA এডিটরে থাকবেন, তখন আপনি কোন বস্তুর সাথে কোডটি সংযুক্ত করতে চান এবং কখন কোডটি চালাতে চান তা চয়ন করতে আপনাকে সম্পাদনা উইন্ডোর শীর্ষে থাকা দুটি ড্রপডাউন বাক্স ব্যবহার করতে হবে৷
উদাহরণস্বরূপ, Excel এ, যদি আপনি ওয়ার্কশীট চয়ন করেন এবং সক্রিয় করুন , যখনই ওয়ার্কশীট খোলা হবে কোডটি চলবে।
আপনার VBA কোড ট্রিগার করার জন্য আপনি ব্যবহার করতে পারেন এমন অন্যান্য ওয়ার্কশীট অ্যাকশনগুলির মধ্যে রয়েছে যখন ওয়ার্কশীট পরিবর্তন হয়, কখন এটি বন্ধ হয় (নিষ্ক্রিয় করা হয়), যখন ওয়ার্কশীট গণনা চালানো হয় এবং আরও অনেক কিছু।
যখন আপনি সম্পাদকে VBA কোড যোগ করেন, সর্বদা আপনার VBA কোডটি বস্তুর উপর স্থাপন করতে ভুলবেন না এবং সেই কোডটি ট্রিগার করতে আপনি যে সঠিক ক্রিয়াটি ব্যবহার করতে চান তা ব্যবহার করে৷
VBA IF স্টেটমেন্ট
একটি IF স্টেটমেন্ট VBA-তে কাজ করে ঠিক যেমন এটি অন্য কোনো প্রোগ্রামিং ভাষায় কাজ করে।
IF স্টেটমেন্টের প্রথম অংশটি একটি শর্ত বা শর্তের সেট সত্য কিনা তা দেখে। এই শর্তগুলি একটি AND বা OR অপারেটর দ্বারা তাদের একসাথে লিঙ্ক করতে যোগদান করা যেতে পারে৷
একটি উদাহরণ হল স্প্রেডশীটে একটি গ্রেড "পাসিং" গ্রেডের উপরে বা নীচে আছে কিনা তা পরীক্ষা করা এবং পাস বা ব্যর্থতার স্থিতি অন্য কক্ষে বরাদ্দ করা।
যদি কোষ (2, 2)> 75 তাহলে কোষ (2, 3) ="পাস" অন্য কোষ (2, 3) ="ফেল"
আপনি যদি সম্পূর্ণ বিবৃতিটি একটি লাইনে না চান, আপনি লাইনের শেষে একটি "_" চিহ্ন যোগ করে এটিকে একাধিক লাইনে বিভক্ত করতে পারেন।
যদি কোষ(2, 2)> 75 তাহলে _
কোষ(2, 3) =“পাস” অন্যথায় _
কোষ(2, 3) =“ব্যর্থ”
এই কৌশলটি ব্যবহার করে প্রায়ই কোড পড়া এবং ডিবাগ করা অনেক সহজ করে তোলে৷
ভিবিএ ফর নেক্সট লুপস
IF বিবৃতিগুলি একক তুলনার জন্য দুর্দান্ত, যেমন একটি একক কক্ষের দিকে তাকানোর উদাহরণ। কিন্তু আপনি যদি ঘরের একটি সম্পূর্ণ পরিসর লুপ করতে চান এবং প্রতিটিতে একই IF স্টেটমেন্ট করতে চান?
এই ক্ষেত্রে আপনার একটি ফর লুপ লাগবে।
এটি করার জন্য, আপনাকে একটি পরিসরের দৈর্ঘ্য ব্যবহার করতে হবে এবং ডেটা রয়েছে এমন সারির সংখ্যা দ্বারা সেই দৈর্ঘ্যটি লুপ করতে হবে।
এটি করার জন্য, আপনাকে পরিসীমা এবং সেল ভেরিয়েবলগুলি সংজ্ঞায়িত করতে হবে এবং তাদের মাধ্যমে লুপ করতে হবে। আপনাকে একটি কাউন্টার সংজ্ঞায়িত করতে হবে যাতে আপনি ফলাফলগুলিকে উপযুক্ত সারিতে আউটপুট করতে পারেন। তাই আপনার VBA কোডে প্রথমে এই লাইনটি থাকবে৷
৷
পরিসীমা হিসাবে রঞ্জক, পরিসীমা হিসাবে সেল৷
রো-কাউন্টারকে পূর্ণসংখ্যা হিসাবে ম্লান করুন
নিম্নরূপ পরিসীমা আকার সংজ্ঞায়িত করুন.
rng =রেঞ্জ (“B2:B7”) সেট করুন
rowCounter =2
অবশেষে, আপনি সেই পরিসরের প্রতিটি কক্ষের মধ্য দিয়ে ধাপে ধাপে আপনার FOR লুপ তৈরি করতে পারেন এবং তুলনা করতে পারেন৷
For Each cell In rng If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell
একবার এই VBA স্ক্রিপ্টটি চালানো হলে, আপনি প্রকৃত স্প্রেডশীটে ফলাফল দেখতে পাবেন।
VBA যখন লুপ হয়
A while লুপও FOR লুপের মতো বিবৃতিগুলির একটি সিরিজের মাধ্যমে লুপ করে, তবে চালিয়ে যাওয়ার জন্য লুপ করার শর্তটি সত্য থাকা শর্ত।
উদাহরণ স্বরূপ, আপনি নিচের মত করে rowCounter ভেরিয়েবল ব্যবহার করে WHILE লুপ হিসাবে উপরে FOR লুপ লিখতে পারেন।
While rowCounter < rng.Count + 2 If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend
দ্রষ্টব্য:rng.Count + 2 সমাপ্তি সীমা প্রয়োজন কারণ সারি কাউন্টারটি 2 এ শুরু হয় এবং 7 সারিতে শেষ হওয়া প্রয়োজন যেখানে ডেটা শেষ হয়। যাইহোক, পরিসরের গণনা (B2:B7) মাত্র 6, এবং যখন কাউন্টারটি কাউন্টার থেকে বড় হলেই লুপটি শেষ হবে – তাই শেষ rowCounter মানটি 8 (বা rng.Count + 2) হতে হবে।
এছাড়াও আপনি নিম্নরূপ যখন লুপ সেট আপ করতে পারেন:
rowCounter <=rng.Count + 1 থাকাকালীন
আপনি শুধুমাত্র রেঞ্জ কাউন্ট (6) 1 দ্বারা বৃদ্ধি করতে পারেন, কারণ একবার rowCounter ভেরিয়েবল ডেটার শেষে (সারি 7) পৌঁছে গেলে, লুপটি শেষ হতে পারে৷
ভিবিএ ডু ওয়েইল এবং ডু টু টিল লুপস
Do while এবং Do Until loops প্রায় একই রকম হয় while loops, কিন্তু কাজ করে কিছুটা আলাদা।
- The While Loop লুপের শুরুতে একটি শর্ত সত্য কিনা তা পরীক্ষা করে।
- ডু-হাইল লুপ লুপে স্টেটমেন্ট চালানোর পর একটি শর্ত সত্য কিনা তা পরীক্ষা করে।
- ডু-টিল লুপ লুপ চালানোর পরেও একটি শর্ত মিথ্যা কিনা তা পরীক্ষা করে।
এই ক্ষেত্রে, আপনি নিচের মত করে While লুপটি পুনরায় লিখবেন, একটি Do-While লুপ হিসাবে৷
Do If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2
এই ক্ষেত্রে যুক্তি খুব বেশি পরিবর্তিত হয় না, তবে আপনি যদি নিশ্চিত করতে চান যে সমস্ত বিবৃতি চালানোর পরে যুক্তির তুলনা করা হয় (অন্তত একবার যাই হোক না কেন সেগুলিকে চালানোর অনুমতি দেয়), তবে একটি করণীয় অথবা ডু-অনটিল লুপ সঠিক বিকল্প।
VBA সিলেক্ট কেস স্টেটমেন্ট
আপনার VBA কোড গঠন শুরু করার জন্য আপনাকে যে চূড়ান্ত ধরনের লজিক্যাল স্টেটমেন্ট বুঝতে হবে তা হল সিলেক্ট কেস স্টেটমেন্ট।
উপরের উদাহরণটি দেওয়া হল, ধরা যাক আপনি এমন একটি গ্রেডিং পদ্ধতি পেতে চান যা শুধু পাস ব্যর্থ নয়। পরিবর্তে, আপনি A থেকে F.
থেকে একটি লেটার গ্রেড বরাদ্দ করতে চানআপনি নিম্নলিখিত নির্বাচন কেস বিবৃতি দিয়ে এটি করতে পারেন:
For Each cell In rng Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell
এই VBA স্ক্রিপ্টটি চালানোর পরে ফলস্বরূপ স্প্রেডশীটটি নীচের মত দেখায়৷
এখন আপনি আপনার মাইক্রোসফ্ট অফিস অ্যাপ্লিকেশনগুলিতে VBA ব্যবহার শুরু করার জন্য আপনার যা জানা দরকার তা জানেন৷