
Excel VBA এবং Google Apps Script উভয়ই কাজ অটোমেট করতে, কাস্টম ফাংশন তৈরি করতে, বিভিন্ন প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করতে ব্যবহৃত হয়। যempel, অটোমেশন হলো Excel VBA এবং Google Apps Script-র অফার করা সবচেয়ে শক্তিশালী ফিচার যা প্রোডাক্টিভিটি বাড়াতে সাহায্য করে। এই নিবন্ধে, আমরা প্র্যাক্টিক্যাল উদাহরণের সাথে Excel VBA এবং Google Apps Script-এর প্রস, কনস এবং ইউজ কেস তুলনা করব। এই নিবন্ধ আপনাকে সিদ্ধান্ত নিতে সাহায্য করবে কোনটি ব্যবহার করতে হবে আপনার প্রয়োজন অনুযায়ী।
Excel VBA এবং Google Apps Script কী?
- Excel VBA: Visual Basic Application (VBA) হলো মাইক্রোসফট এক্সেলে বিল্ট-ইন একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটি ব্যবহারকারীদের কাজ অটোমেট করতে, কাস্টম ফাংশন তৈরি করতে, এবং এক্সেলের ক্ষমতা প্রসারিত করতে দেয়।
- Google Apps Script: Apps Script হলো একটি ক্লাউড-ভিত্তিক স্ক্রিপ্টিং টুল যা সকল Google Workspace অ্যাপ জুড়ে JavaScript ল্যাঙ্গুয়েজ ব্যবহার করে। এটি আপনাকে কাজ অটোমেট করতে এবং সার্ভিস ইন্টিগ্রেট করতে দেয়।
Excel VBA-এর প্রস এবং কনস
প্রস
- VBA এক্সেলের ফিচারসহ গভীর ইন্টিগ্রেশন সাপোর্ট করে, কমপ্লেক্স টাস্ক অটোমেশন সক্ষম করে।
- এটি কাস্টম এক্সেল অ্যাড-ইন এবং UI কাস্টোমাইজেশন অফার করে।
- ইন্টারনেট কানেকশন ছাড়া কাজ করে।
- যেহেতু এটি আগেイント্রোডাক্ট করা হয়েছিল, আপনাকে হাজার হাজার এক্সিস্টিং VBA সমাধান এবং শক্তিশালী কমিউনিটি সাপোর্ট পাওয়া যাবে।
কনস
- Windows-এ সীমাবদ্ধ কারণ VBA এক্সেল ফর ওয়েব বা অধিকাংশ macOS ভার্সনে রান করে না।
- VBA এডিটরে মডার্ন IDE ফিচার যেমন অটো-কমপ্লিশনের অভাব।
- একটি নির্দিষ্ট ল্যাঙ্গুয়েজ (Visual Basic) শিখতে হয়। VBA সিনট্যাক্স JavaScript-এর চেয়ে বেগানার-ফ্রেন্ডলি কম।
- নন-মাইক্রোসফট প্ল্যাটফর্ম জুড়ে সীমিত কম্প্যাটিবিলিটি।
আপনি Excel VBA ব্যবহার করতে পারেন অফলাইন কাজ করার সময়। কমপ্লেক্স এক্সেল সমাধান তৈরি করতে যেন: ড্যাশবোর্ড, পিভট টেবিল, এবং কাস্টম ফাংশন। এক্সেল রবাস্ট ফাইন্যান্সিয়াল বা স্ট্যাটিস্টিক্যাল মডেল তৈরি করে। এক্সেল বড় এবং ভারি ডেটা প্রসেস করতে পারে।
Google Apps Script-এর প্রস এবং কনস
প্রস
- ইন্টারনেট অ্যাক্সেসযুক্ত যেকোনো ডিভাইসে কাজ করে। একাধিক ব্যবহারকারীর সাথে রিয়েল-টাইম колাবোরেশন সক্ষম করে।
- Apps Script JavaScript-ভিত্তিক, একটি জনপ্রিয় এবং বহুমুখী প্রোগ্রামিং ল্যাঙ্গুয়েজ।
- Google Workspace (Docs, Sheets, Drive) এবং এক্সternal APIs-এর সাথে সিমলেসلی ইন্টিগ্রেট হয়।
- অটোমেটিক ইমেইল পাঠানো সহজ।
- স্ক্রিপ্টগুলো ক্লাউডে রান করে, লোকাল রিসোর্স ব্যবহার কমায়।
কনস
- স্থিতিশীল ইন্টারনেট কানেকশন প্রয়োজন।
- ভারি টাস্কের জন্য স্লো পারফরম্যান্স। বড় ডেটা প্রসেসিং হ্যান্ডেল করতে পারে না।
- এক্সেলে পাওয়া যাওয়া কিছু অ্যাডভান্সড স্প্রেডশিট ফিচার সাপোর্ট করে না।
- Google অ্যাকাউন্ট পারমিশন প্রয়োজন, যা রিস্ট্রিক্টেড এনভায়রনমেন্টে কলাবোরেশন জটিল করতে পারে।
আপনি Google Sheets ব্যবহার করতে পারেন কলাবোরেটিভ প্রজেক্টের জন্য, ক্রস-প্ল্যাটফর্ম অ্যাক্সেস পেতে। Google Workspace এবং এক্সternal APIs ব্যবহার করে ওয়ার্কফ্লো অটোমেট করতে। এটি সিম্পল ডেটা অপারেশন পারফর্ম করে।
ইউজ কেস: ওভারডিউ টাস্ক হাইলাইট করুন এবং অটোমেটিক্যালি ইমেইল পাঠান
চলুন আপনাদেরকে Excel VBA এবং Google Apps Script-এর জন্য সিম্পল এবং প্র্যাক্টিক্যাল ইউজ কেস দেখাই যাতে তাদের অনন্য ক্যাপাবিলিটি প্রদর্শিত হয়। বিবেচনা করুন আপনার কাছে একটি টাস্ক ট্র্যাকার আছে যেখানে আপনি আপনার টাস্কের সব কিছু লিস্ট করেন যেন: Task, Start date, End Date, Status, Assigned To, টিম মেম্বারদের ইমেইল অ্যাড্রেস, ইত্যাদি।
Excel VBA
Excel VBA ডিউ ডেট হাইলাইট করবে এবং Outlook ব্যবহার করে ইমেইল অ্যালার্ট পাঠাবে যখন একটি টাস্ক ওভারডিউ হবে।
- Developer ট্যাবে যান » Visual Basic সিলেক্ট করুন।
- VBA এডিটরে, Insert ট্যাবে যান » Module সিলেক্ট করুন।
- Module-এ নিচের VBA কোড ইনসার্ট করুন।

VBA কোড:
Sub SendOverdueTaskEmails() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim OutlookApp As Object Dim OutlookMail As Object Dim taskName As String Dim endDate As Date Dim assignedTo As String Dim emailAddress As String Dim taskStatus As String Dim todayDate As Date ' Set worksheet and determine the last row Set ws = ThisWorkbook.Sheets("Tasks") lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row todayDate = Date ' Initialize Outlook application On Error Resume Next Set OutlookApp = CreateObject("Outlook.Application") On Error GoTo 0 If OutlookApp Is Nothing Then MsgBox "Outlook is not available. Please make sure Outlook is installed and configured.", vbCritical Exit Sub End If ' Loop through tasks in the dataset For i = 2 To lastRow taskName = ws.Cells(i, 2).Value endDate = ws.Cells(i, 4).Value assignedTo = ws.Cells(i, 5).Value taskStatus = ws.Cells(i, 6).Value emailAddress = ws.Cells(i, 7).Value ' Check if task is overdue and not completed If endDate < todayDate And taskStatus <> "Completed" Then ' Highlight the due date cell in red ws.Cells(i, 4).Interior.Color = RGB(255, 0, 0) ' Create the email Set OutlookMail = OutlookApp.CreateItem(0) With OutlookMail .To = emailAddress .Subject = "Overdue Task Notification: " & taskName .Body = "Dear " & assignedTo & "," & vbCrLf & vbCrLf & _ "The task """ & taskName & """ was due on " & endDate & " and is now overdue." & vbCrLf & _ "Please review and update the status as soon as possible." & vbCrLf & vbCrLf & _ "Best regards," & vbCrLf & _ "Task Management Team" .Send End With Set OutlookMail = Nothing End If Next i ' Clean up Set OutlookApp = Nothing MsgBox "Emails sent for overdue tasks!", vbInformation End Sub
ব্যাখ্যা:
- Set the Worksheet: Tasks শিটটি রেফারেন্স করা হয়েছে, এবং ডেটা যুক্ত শেষ রো নির্ধারিত করা হয়েছে।
- Initialize Outlook: চেক করে Outlook ইনস্টল্ড কিনা এবং একটি Outlook অ্যাপ্লিকেশন অবজেক্ট সেট আপ করা হয়েছে।
- Loop Through Tasks:
- প্রতিটি টাস্কের মাধ্যমে ইটারেট করে।
- টাস্ক নাম, এন্ড ডেট, অ্যাসাইন করা ব্যক্তি, ইমেইল, এবং স্ট্যাটাস রিট্রিভ করে।
- Check Overdue Tasks: যদি টাস্ক ওভারডিউ হয় (End Date < Today) এবং “Completed” হিসেবে মার্ক করা ন থাকে, তবে নিচের অ্যাকশনগুলো ঘটে:
- Highlight in Red: End Date সেলটি লাল রঙে (RGB(255, 0, 0)) রঙ করা হয়।
- Send Email: Outlook ব্যবহার করে টাস্ক ডিটেইলসসহ একটি ইমেইল তৈরি করে এবং পাঠায়।
- Cleanup: Outlook অবজেক্ট রিলিজ করে এবং একটি কনফারমেশন মেসেজ দেখায়।
- Save এবং Run করুন কোড। আপনার ওয়ার্কশিটে ফিরে যান।
এই কোড ইমেইল ভিয়া টাস্ক রিমাইন্ডার এবং এক্সেলে ওভারডিউ ডেট হাইলাইট দুটোই অটোমেট করে।
আউটপুট:

VBA ইনসাইটস:
- একই সিস্টেমে Microsoft Excel এবং Outlook ইনস্টল্ড থাকতে হয়।
- এক্সেল থেকে টাস্ক ডেটা পড়ে, ওভারডিউ টাস্ক চেক করে, সেগুলো লাল রঙে হাইলাইট করে, এবং Outlook ভিয়া ইমেইল পাঠায়।
- এটি আরও সেটআপ দাবি করে, কারণ আপনাকে নিশ্চিত করতে হবে Outlook-এর সঠিক কনফিগারেশন এবং বৈধ ইমেইল অ্যাড্রেস।
- রানটাইম এররর জন্য সেনসিটিভ যদি ইমেইল অ্যাড্রেস বা Outlook সেট আপ করা না থাকে।
Google Apps Script
Google Apps Script ব্যবহার করে ওভারডিউ টাস্কের জন্য Gmail ভিয়া ইমেইল অ্যালার্ট পাঠান।
ধাপসমূহ:
- Extension মেনুতে যান » Apps Script সিলেক্ট করুন।
- কোড এডিটরে নিচের স্ক্রিপ্ট ইনসার্ট করুন।
Apps Script কোড:
function sendOverdueTaskemail() { // Open the active sheet const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tasks"); // Get data range (assumes headers are in row 1) const range = sheet.getDataRange(); const data = range.getValues(); // Loop through rows starting from row 2 for (let i = 1; i < data.length; i++) { const taskName = data[i][1]; // Task Name in column B const endDate = new Date(data[i][3]); // End Date in column D const assignedTo = data[i][4]; // Assigned To in column E const status = data[i][5]; // Status in column F const email = data[i][6]; // Email Address in column G // Check if the task is overdue and not completed if (endDate < new Date() && status !== "Completed") sheet.getRange(i + 1, 4).setBackground("red"); { const subject = `Overdue Task Notification: ${taskName}`; const body = `Dear ${assignedTo},\n\nThe task "${taskName}" was due on ${endDate.toDateString()} and is now overdue. Please review and update the status as soon as possible.\n\nBest regards,\nTask Management Team`; // Send email GmailApp.sendEmail(email, subject, body); } } SpreadsheetApp.getUi().alert("Emails sent to the assigned individuals for overdue tasks!"); }
ব্যাখ্যা:
- Setup Sheet: Tasks শিটটি অ্যাক্সেস করে এবং সকল ডেটা রিট্রিভ করে।
- Loop Through Tasks: দ্বিতীয় রো থেকে শুরু করে প্রতিটি রোয়ের মাধ্যমে ইটারেট করে।
- Check Overdue Tasks: যদি End Date অতীত হয় এবং স্ট্যাটাস “Completed” না হয়:
- End Date সেলকে লাল রঙে হাইলাইট করে।
- অসাইন করা ব্যক্তিকে Gmail ব্যবহার করে ইমেইল নোটিফিকেশন পাঠায়।
- Completion: প্রসেসিং শেষে সাকসেস মেসেজ দেখায়।
কোড রান করুন এবং আপনার শিটে ফিরে যান আপডেট দেখতে। আপনার মেইল অ্যাকাউন্ট চেক করুন ইমেইল নোটিফিকেশন देखने।
আউটপুট:


Google Apps Script ইনসাইটস:
- Google Sheets-এ সরাসরি রান করে, ইমেইল পাঠাতে Gmail ব্যবহার করে।
- টাস্ক ডেটা পড়ে, ওভারডিউ টাস্ক লাল রঙে হাইলাইট করে, এবং Gmail ভিয়া ইমেইল পাঠায়।
- সিম্পলার সেটআপ কারণ Gmail Google ইকোসিস্টেমে সহজে অ্যাক্সেসযোগ্য।
- Outlook-এর মতো অতিরিক্ত সফ্টওয়্যারের ডিপেন্ডেন্সি নেই, যা এটিকে লাইটওয়েট করে।
উপসংহার
Excel VBA অফলাইন টাস্ক এবং কমপ্লেক্স এক্সেল-স্পেসিফিক অপারেশনের জন্য একটি শক্তিশালী টুল, যেন: অ্যাডভান্সড রিপোর্ট তৈরি করা, বড় ডেটাসেট ম্যানিপুলেট করা, অ্যাড-ইন তৈরি করা, ইত্যাদি।
Google Apps Script ক্লাউড-ভিত্তিক এনভায়রনমেন্টে উপযোগী, বিশেষ করে যখন প্ল্যাটফর্ম জুড়ে কাজ করা হয় এবং Google Workspace অ্যাপসের সাথে ইন্টিগ্রেট করা হয়।
এই সিম্পল উদাহরণগুলো প্রতিটি টুলের স্ট্রেঞ্জথ দেখাচ্ছে, যা আপনার প্রয়োজন অনুযায়ী সঠিক টুল বেছে নেওয়া সহজ করে দেয়।
Get FREE Advanced Excel Exercises with Solutions!