ম্যাক্রো কী?
ম্যাক্রো (Macro) হলো Excel-এ রেকর্ড করা কাজের ধারাবাহিক পদক্ষেপ যা পরে এক ক্লিকে বা শর্টকাটে আবার চালানো (replay) যায়। প্রতিদিন যেসব কাজ বারবার করতে হয় — যেমন ডেটা ফর্ম্যাট করা, রিপোর্ট তৈরি করা, ফিল্টার প্রয়োগ করা — সেগুলো ম্যাক্রোতে রেকর্ড করে অটোমেট করা যায়।
- সময় সাশ্রয়: পুনরাবৃত্তিমূলক কাজ কয়েক সেকেন্ডে সম্পন্ন হয়
- নির্ভুলতা: মানুষের ভুলের সম্ভাবনা দূর হয়
- সামঞ্জস্যতা: প্রতিবার একই ফলাফল পাওয়া যায়
- সহজ ব্যবহার: প্রাথমিক ম্যাক্রোর জন্য কোনো প্রোগ্রামিং জ্ঞান দরকার নেই
Developer Tab সক্রিয় করা
ম্যাক্রো সংক্রান্ত সব ফিচার Developer ট্যাবে থাকে। ডিফল্টভাবে এই ট্যাব লুকানো থাকে — সক্রিয় করতে:
- File → Options ক্লিক করুন
- Customize Ribbon নির্বাচন করুন
- ডান পাশে Main Tabs তালিকায় Developer চেকবক্সে টিক দিন
- OK ক্লিক করুন
Developer ট্যাবের প্রধান ফিচার
| বাটন / গ্রুপ | কাজ |
|---|---|
| Visual Basic | VBA Editor খুলুন (Alt+F11) |
| Macros | সব ম্যাক্রো দেখুন, চালান, সম্পাদনা বা মুছুন |
| Record Macro | নতুন ম্যাক্রো রেকর্ড শুরু করুন |
| Use Relative References | আপেক্ষিক রেফারেন্স রেকর্ডিং চালু/বন্ধ |
| Insert (Controls) | বাটন, চেকবক্স, কম্বো বক্স ইত্যাদি ফর্ম কন্ট্রোল |
| Macro Security | ম্যাক্রো চালানোর নিরাপত্তা সেটিং |
ম্যাক্রো রেকর্ড করা
ম্যাক্রো রেকর্ড করার দুটি উপায় আছে:
- View ট্যাব → Macros → Record Macro
- Developer ট্যাব → Record Macro
Record Macro ডায়ালগ বক্স
| ফিল্ড | বিবরণ | নিয়ম / পরামর্শ |
|---|---|---|
| Macro name | ম্যাক্রোর নাম | স্পেস নেই, অক্ষর দিয়ে শুরু, আন্ডারস্কোর ব্যবহার করুন (যেমন: Format_Report) |
| Shortcut key | কীবোর্ড শর্টকাট | Ctrl+Shift+অক্ষর দিন (শুধু Ctrl+অক্ষর দিলে Excel-এর ডিফল্ট শর্টকাটের সাথে সংঘর্ষ হতে পারে) |
| Store macro in | কোথায় সেভ হবে | This Workbook (শুধু এই ফাইলে), Personal Macro Workbook (সব ফাইলে), New Workbook |
| Description | ম্যাক্রোর বিবরণ | ঐচ্ছিক — কিন্তু লেখা ভালো অভ্যাস |
রেকর্ডিং প্রক্রিয়া
- Record Macro ক্লিক করুন → নাম ও সেটিং দিন → OK
- এখন থেকে আপনার প্রতিটি কাজ রেকর্ড হচ্ছে — সেল সিলেক্ট, ডেটা টাইপ, ফর্ম্যাটিং, ফিল্টারিং ইত্যাদি
- কাজ শেষ হলে Stop Recording ক্লিক করুন (স্ট্যাটাস বারে বা Developer ট্যাবে)
- ম্যাক্রো সেভ হয়ে গেছে — এখন যেকোনো সময় চালাতে পারবেন
Absolute vs Relative Reference রেকর্ডিং
ম্যাক্রো রেকর্ড করার সময় দুই ধরনের রেফারেন্স ব্যবহার হয়। সঠিক ধরন বেছে নেওয়া গুরুত্বপূর্ণ:
| বৈশিষ্ট্য | Absolute (ডিফল্ট) | Relative |
|---|---|---|
| রেকর্ড কী করে | সেলের নির্দিষ্ট ঠিকানা রেকর্ড করে (যেমন A1, B5) | বর্তমান সেল থেকে আপেক্ষিক অবস্থান রেকর্ড করে |
| চালানোর সময় | সবসময় একই সেলে কাজ করে | যেকোনো সেল থেকে শুরু করলে সেই অনুযায়ী কাজ করে |
| সক্রিয় করা | ডিফল্ট — আলাদা কিছু করতে হয় না | Developer → Use Relative References ক্লিক করুন (হাইলাইট হবে) |
| কখন ব্যবহার | নির্দিষ্ট সেলে সবসময় একই কাজ করতে চাইলে | বিভিন্ন সেলে একই ধরনের কাজ করতে চাইলে |
| উদাহরণ | সবসময় A1 সেলে "শিরোনাম" লেখা | যেকোনো সেলে ফিল্টার ও ফর্ম্যাটিং প্রয়োগ |
ম্যাক্রো চালানো (Run Macro)
রেকর্ড করা ম্যাক্রো চালানোর বিভিন্ন উপায় আছে:
উপায় ১: Macros ডায়ালগ থেকে
- View → Macros → View Macros (অথবা Alt+F8)
- তালিকা থেকে ম্যাক্রো নির্বাচন করুন
- Run ক্লিক করুন
উপায় ২: কীবোর্ড শর্টকাট
রেকর্ড করার সময় যে শর্টকাট দিয়েছিলেন (যেমন Ctrl+Shift+R) সেটি চাপুন।
উপায় ৩: বাটন/শেইপে অ্যাসাইন
- Insert → Shapes থেকে একটি শেইপ আঁকুন
- শেইপে রাইট-ক্লিক → Assign Macro
- তালিকা থেকে ম্যাক্রো নির্বাচন করুন → OK
- এখন শেইপে ক্লিক করলেই ম্যাক্রো চলবে
VBA Editor ও বেসিক VBA
Alt+F11 চেপে VBA (Visual Basic for Applications) Editor খুলুন। রেকর্ড করা ম্যাক্রো VBA কোড হিসেবে সংরক্ষিত হয়। বেসিক ম্যাক্রো ব্যবহারে VBA জানা আবশ্যক নয়, তবে কিছু সাধারণ কোড জানা থাকলে ম্যাক্রো কাস্টমাইজ করা সহজ হয়।
VBA কোডের গঠন
প্রতিটি ম্যাক্রো Sub দিয়ে শুরু এবং End Sub দিয়ে শেষ হয়:
| VBA কোড | কাজ |
|---|---|
| Sub MacroName() ... End Sub | ম্যাক্রোর মূল কাঠামো |
| Range("A1").Value = "Hello" | A1 সেলে "Hello" লেখা |
| Range("A1:D1").Font.Bold = True | A1:D1 রেঞ্জ বোল্ড করা |
| MsgBox "কাজ সম্পন্ন!" | একটি বার্তা বক্স দেখানো |
| Cells(1,1).Value = 100 | Row 1, Column 1 (A1) সেলে 100 বসানো |
| ActiveSheet.Name = "Report" | বর্তমান শিটের নাম "Report" করা |
| For i = 1 To 10 ... Next i | 1 থেকে 10 পর্যন্ত লুপ চালানো |
ম্যাক্রো সম্বলিত ফাইল অবশ্যই .xlsm ফর্ম্যাটে সেভ করুন। .xlsx ফর্ম্যাটে সেভ করলে সমস্ত ম্যাক্রো মুছে যাবে! Save As → Excel Macro-Enabled Workbook (*.xlsm) নির্বাচন করুন।
.xlsm ফাইল ফর্ম্যাট ও Personal Macro Workbook
ফাইল ফর্ম্যাট
- .xlsx — সাধারণ Excel ফাইল, ম্যাক্রো সংরক্ষণ করে না
- .xlsm — Macro-Enabled Workbook, ম্যাক্রো সংরক্ষণ করে
- .xls — পুরনো ফর্ম্যাট (Excel 97-2003), ম্যাক্রো সমর্থন করে
- .xlsb — Binary Workbook, দ্রুত ও ম্যাক্রো সমর্থন করে
Personal Macro Workbook (PERSONAL.XLSB)
Record Macro ডায়ালগে "Store macro in" থেকে Personal Macro Workbook নির্বাচন করলে ম্যাক্রো PERSONAL.XLSB ফাইলে সেভ হয়। এই ফাইলটি:
- Excel শুরু হলে স্বয়ংক্রিয়ভাবে লোড হয় (লুকানো অবস্থায়)
- এতে সেভ করা ম্যাক্রো সব ওয়ার্কবুকে ব্যবহারযোগ্য
- অবস্থান: XLSTART ফোল্ডারে থাকে
- প্রায়শই ব্যবহৃত ম্যাক্রো এখানে রাখুন
Macro Security — ম্যাক্রো নিরাপত্তা
ম্যাক্রো শক্তিশালী হলেও ক্ষতিকর কোড থাকতে পারে। তাই Excel ম্যাক্রো চালানোর আগে নিরাপত্তা যাচাই করে। সেটিং পরিবর্তন করতে: File → Options → Trust Center → Trust Center Settings → Macro Settings
| সেটিং | আচরণ | নিরাপত্তা স্তর |
|---|---|---|
| Disable all macros without notification | সব ম্যাক্রো নীরবে বন্ধ, কোনো বার্তা নেই | 🔴 সর্বোচ্চ নিরাপত্তা |
| Disable all macros with notification | ম্যাক্রো বন্ধ থাকে, কিন্তু "Enable Content" বার্তা দেখায় | 🟡 প্রস্তাবিত (Recommended) |
| Disable all macros except digitally signed | শুধু বিশ্বস্ত প্রকাশকের স্বাক্ষরিত ম্যাক্রো চলে | 🟡 ভালো নিরাপত্তা |
| Enable all macros | সব ম্যাক্রো স্বয়ংক্রিয়ভাবে চলে | 🔴 ঝুঁকিপূর্ণ — ব্যবহার করবেন না |
⚠️ সতর্কতা: অপরিচিত উৎস থেকে পাওয়া Excel ফাইলের ম্যাক্রো কখনোই Enable করবেন না। ক্ষতিকর ম্যাক্রো আপনার কম্পিউটারে ভাইরাস ছড়াতে পারে, ডেটা মুছে দিতে পারে, বা গোপনীয় তথ্য চুরি করতে পারে।
Record → Do → Stop → Play! চার ধাপে ম্যাক্রো: রেকর্ড শুরু → কাজ করুন → রেকর্ড বন্ধ → চালান!