এক্সেল ভিজুয়াল বেসিক ফর অ্যাপ্লিকেশন (ভিবিএ) একটি শক্তিশালী প্রোগ্রামিং ভাষা। VBA আপনাকে কাজগুলি স্বয়ংক্রিয় করতে, কাস্টম ফাংশন তৈরি করতে এবং স্প্রেডশীট কার্যকারিতা উন্নত করতে দেয়। আপনি যদি VBA দিয়ে শুরু করেন, তাহলে ম্যাক্রো, মডিউল এবং পদ্ধতির মতো মূল পদগুলি বোঝা অপরিহার্য। এই ধারণাগুলি আন্তঃসংযুক্ত কিন্তু বিভিন্ন উদ্দেশ্যে কাজ করে৷
এই টিউটোরিয়ালে, আমরা এক্সেল VBA পরিভাষা নিয়ে আলোচনা করব:ম্যাক্রো বনাম মডিউল বনাম পদ্ধতি। আপনাকে শুরু করতে সাহায্য করার জন্য আমরা ব্যাখ্যা, উদাহরণ এবং ব্যবহারিক টিপস দিয়ে সেগুলিকে ভেঙে দেব।
অনুসরণ করার জন্য, আপনার ডেভেলপার ট্যাব সক্ষম সহ এক্সেল (2007 এর পরের যেকোনো সংস্করণ) প্রয়োজন।
- যদি এটি দৃশ্যমান না হয়, তাহলে ফাইল-এ যান৷ ট্যাব>> বিকল্প নির্বাচন করুন>> রিবন কাস্টমাইজ করুন নির্বাচন করুন>> ডেভেলপার নির্বাচন করুন ডান দিকে
1. ম্যাক্রো কি?
একটি ম্যাক্রো ভিবিএ-তে সবচেয়ে ব্যবহারকারী-বান্ধব এন্ট্রি পয়েন্ট। এটি মূলত একটি রেকর্ড করা বা লিখিত নির্দেশাবলীর সেট যা এক্সেলের পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করে। এক্সেলের ম্যাক্রো রেকর্ডার ব্যবহার করে গভীর প্রোগ্রামিং জ্ঞান ছাড়াই ম্যাক্রো তৈরি করা যায়। এটি আপনার অ্যাকশনগুলিকে ক্যাপচার করে, যেমন সেল ফর্ম্যাটিং বা ফর্মুলা ঢোকানো, এবং সেগুলিকে VBA কোডে রূপান্তর করে৷
ব্যবহারিক পরিভাষায়, যখন লোকেরা বলে "আমি একটি ম্যাক্রো রেকর্ড করেছি" বা "আমি একটি ম্যাক্রো লিখেছি," তারা সাধারণত একটি মডিউলে সংরক্ষিত একটি সাব পদ্ধতির কথা বলে। এক্সেলের ম্যাক্রো রেকর্ডার স্বয়ংক্রিয়ভাবে সাব পদ্ধতি তৈরি করে।
মূল বৈশিষ্ট্য:
- উদ্দেশ্য: সময় বাঁচাতে কাজগুলি স্বয়ংক্রিয় করুন। উদাহরণস্বরূপ, একটি ম্যাক্রো ডেটা বাছাই করতে পারে, ফিল্টার প্রয়োগ করতে পারে বা এক ক্লিকে রিপোর্ট তৈরি করতে পারে৷
- তৈরি করার উপায়:
- রেকর্ড করা হয়েছে: সাধারণ কাজের জন্য ম্যাক্রো রেকর্ডার ব্যবহার করুন।
- লিখিত: আরও জটিল যুক্তির জন্য VBA সম্পাদকে ম্যানুয়ালি কোড সম্পাদনা করুন বা লিখুন৷
- স্কোপ: ম্যাক্রোগুলি সাধারণত ওয়ার্কবুকগুলিতে সংরক্ষণ করা হয় এবং বোতাম, শর্টকাট বা ম্যাক্রো ডায়ালগ থেকে চালানো যেতে পারে৷
- সীমাবদ্ধতা: রেকর্ড করা ম্যাক্রোগুলিতে প্রায়শই অপ্রয়োজনীয় কোড থাকে (যেমন, সেল নির্বাচন করা), এবং সেল রেফারেন্সগুলি জটিল দেখাতে পারে, তাই সেগুলি প্রায়শই ম্যানুয়ালি পরিষ্কার করা হয়৷
ম্যাক্রো ≠ VBA:৷ VBA একটি প্রোগ্রামিং ভাষা। একটি ম্যাক্রো চালানো যায় এমন অটোমেশন যা VBA ব্যবহার করে তৈরি করা হয় (বা VBA তে রেকর্ড করা হয়)।
উদাহরণ:একটি সাধারণ ম্যাক্রো তৈরি এবং চালানো
- ডেভেলপার-এ যান ট্যাব>> রেকর্ড ম্যাক্রো নির্বাচন করুন
- এটির নাম দিন অ্যাপ্লাই ফরম্যাট (কোন স্পেস নেই)>> ইচ্ছা হলে একটি শর্টকাট বরাদ্দ করুন>> ঠিক আছে ক্লিক করুন

- ক্রিয়া সম্পাদন করুন:
- হেডার নির্বাচন করুন
- হোম এ যান ট্যাব>> বোল্ড নির্বাচন করুন
- আবেদন করুন পূর্ণ করুন রঙ এবং ফন্ট রঙ
- রেকর্ডিং বন্ধ করুন:ডেভেলপার-এ যান ট্যাব>> রেকর্ডিং বন্ধ করুন ক্লিক করুন

পর্দার আড়ালে, এক্সেল এইরকম VBA কোড তৈরি করে:
Sub ApplyFormat()
'
' ApplyFormat Macro
'
' Keyboard Shortcut: Ctrl+Shift+F
'
Range("A1:G1").Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
- এটি একটি সাব (সাবরুটিনের সংক্ষিপ্ত), যা এক ধরনের পদ্ধতি

ম্যাক্রো চালান:
- ডেভেলপার-এ যান ট্যাব>> ম্যাক্রো নির্বাচন করুন
- অ্যাপ্লাই ফরম্যাট নির্বাচন করুন>> চালান নির্বাচন করুন
- অথবা Ctrl+Shift+F টিপুন

এখন আপনি কোডিং দক্ষতা ছাড়াই দ্রুত অটোমেশনের জন্য একটি ম্যাক্রো তৈরি এবং ব্যবহার করতে পারেন৷
2. একটি পদ্ধতি কি?
একটি পদ্ধতি হল সবচেয়ে মৌলিক একক; এটি VBA কোডের একটি ব্লক যা একটি নির্দিষ্ট কাজ সম্পাদন করে। আপনি যখন এটি চালান তখন এক্সেল অনুসরণ করে এমন নির্দেশাবলীর একটি সেট হিসাবে এটিকে ভাবুন। প্রক্রিয়া যেখানে প্রকৃত যুক্তি বাস করে; এগুলিকে অন্যান্য ভাষায় ফাংশন বা পদ্ধতি হিসাবে ভাবুন৷
মূল বৈশিষ্ট্য:
- প্রকার:
- সাব প্রসিডিউর (সাব): ক্রিয়া সম্পাদন করে কিন্তু একটি মান ফেরত দেয় না। VBA প্রেক্ষাপটে "ম্যাক্রো" বলতে অধিকাংশ মানুষ এটাই বোঝায়। এটি সাব দিয়ে শুরু হয় এবং শেষ সাব দিয়ে শেষ হয়।
- ফাংশন পদ্ধতি (ফাংশন): গণনা সম্পাদন করে এবং একটি মান প্রদান করে। এটি ফাংশন দিয়ে শুরু হয় এবং শেষ ফাংশন দিয়ে শেষ হয়। ওয়ার্কশীটে কাস্টম সূত্রের জন্য দরকারী।
- উদ্দেশ্য: পুনরায় ব্যবহারযোগ্য কোড তৈরি করে। পদ্ধতিতে লুপ, শর্ত, ভেরিয়েবল এবং এক্সেল অবজেক্টের সাথে মিথস্ক্রিয়া (যেমন সেল বা চার্ট) অন্তর্ভুক্ত থাকতে পারে।
- স্কোপ: সর্বজনীন (যেকোন স্থান থেকে অ্যাক্সেসযোগ্য) বা ব্যক্তিগত (মডিউলের মধ্যে সীমাবদ্ধ) হতে পারে।
- প্যারামিটার: নমনীয়তার জন্য ইনপুট (আর্গুমেন্ট) গ্রহণ করতে পারে।
উদাহরণ:একটি সাব প্রসিডিউর বনাম একটি ফাংশন প্রসিডিউর
- ডেভেলপার-এ যান ট্যাব>> ভিজ্যুয়াল বেসিক নির্বাচন করুন (বা Alt+F11 টিপুন )
- ক্লিক করুন ঢোকান>> মডিউল নির্বাচন করুন
সাব প্রসিডিউর (ম্যাক্রোর মত):
Sub ClearFormatting()
Range("A1:G1").ClearFormats
MsgBox "Formatting is cleared"
End Sub
- ফরম্যাটিং সাফ করতে কোডটি চালান, তারপর "ফরম্যাটিং সাফ হয়েছে" বলে একটি বার্তা প্রদর্শন করুন

ফাংশন পদ্ধতি:
Function Multiply(num1 As Integer, num2 As Integer) As Integer Multiply = num1 * num2 End Function
- মান গুন করতে =Multiply(E2,F2) এর মত একটি ঘরে এটি ব্যবহার করুন

ম্যাক্রোর সাথে সম্পর্ক: সমস্ত ম্যাক্রো সাব পদ্ধতি, কিন্তু সমস্ত সাব পদ্ধতি ম্যাক্রো রেকর্ড করা হয় না। আপনি উন্নত সাব পদ্ধতি লিখতে পারেন যা সাধারণ রেকর্ডিংয়ের বাইরে যায়।
যখন আপনার কাঠামোগত, পুনরায় ব্যবহারযোগ্য কোডের প্রয়োজন হয় তখন পদ্ধতিগুলি ব্যবহার করুন। আরও ভাল সংগঠনের জন্য জটিল কাজগুলিকে একাধিক পদ্ধতিতে বিভক্ত করুন৷
3. একটি মডিউল কি?
একটি মডিউল হল একটি ধারক যেখানে আমরা এক বা একাধিক পদ্ধতি সংরক্ষণ করি। এটি VBA সম্পাদকের একটি ফাইল যেখানে আপনি আপনার VBA কোড লেখেন এবং সংগঠিত করেন। এটি একটি ফোল্ডারের মতো যা আপনার কোডকে সংগঠিত করে, এটি পরিচালনা এবং পুনরায় ব্যবহার করা সহজ করে তোলে৷
৷মডিউলের প্রকার:
- স্ট্যান্ডার্ড মডিউল: সবচেয়ে সাধারণ প্রকার, যেখানে আপনি সাধারণ-উদ্দেশ্য কোড লেখেন।
- এগুলি আপনার VBA প্রজেক্ট এক্সপ্লোরারে "Module1", "Module2", ইত্যাদি হিসাবে প্রদর্শিত হয়।
- VBA সম্পাদক খুলুন>> ঢোকান ক্লিক করুন>> মডিউল নির্বাচন করুন .
- ওয়ার্কবুক মডিউল (এই ওয়ার্কবুক): ওয়ার্কবুক ইভেন্টের সাথে সংযুক্ত কোড ধরে রাখে (খোলা, বন্ধের আগে, ইত্যাদি)।
- ইভেন্ট পদ্ধতি যা একটি ওয়ার্কবুক খোলা বা বন্ধ করার মতো ক্রিয়াকলাপের প্রতিক্রিয়া দেয়
- ওয়ার্কশীট মডিউল (শীট1, পত্রক2, ইত্যাদি): এগুলি নির্দিষ্ট শীটের সাথে সংযুক্ত বিশেষ মডিউল৷
- ৷
- এগুলিতে ইভেন্ট পদ্ধতি রয়েছে যা একটি শীটে ক্লিক করার মতো ক্রিয়াগুলির প্রতিক্রিয়া জানায় এবং একটি শীট পরিবর্তন হলে কোড চলে৷
- ক্লাস মডিউল: এই মডিউলগুলি কাস্টম অবজেক্ট তৈরি করার জন্য ব্যবহৃত উন্নত মডিউল, তবে শুরু করার সময় আপনার সেগুলির প্রয়োজন হবে না। এটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের জন্য ব্যবহার করা হয়, যেমন কাস্টম ক্লাস তৈরি করা।
- ইউজারফর্ম মডিউল: কাস্টম ডায়ালগ বক্স ডিজাইন করার জন্য।

উদাহরণ:মডিউলগুলির সাথে কাজ করা
- ডেভেলপার-এ যান ট্যাব>> ভিজ্যুয়াল বেসিক নির্বাচন করুন (বা Alt+F11 টিপুন )
- প্রজেক্ট এক্সপ্লোরারে (বাম ফলক),
- আপনার ওয়ার্কবুকে ডান-ক্লিক করুন>> ঢোকান ক্লিক করুন>> মডিউল নির্বাচন করুন

- এতে একটি পদ্ধতি কপি-পেস্ট করুন:
Sub FormatSalesReport()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
ws.Range("A1:H1").Font.Bold = True
ws.Range("A1:H" & lastRow).Borders.LineStyle = xlContinuous
Dim i As Long
For i = 2 To lastRow
If ws.Cells(i, "H").Value > 100 Then ws.Cells(i, "H").Interior.Color = RGB(0, 255, 0)
Next i
End Sub
- এই VBA কোড ডেটা ফরম্যাট করে এবং H কলামে 100-এর বেশি মান হাইলাইট করে
- ওয়ার্কবুক সংরক্ষণ করুন
- এখন, এই পদ্ধতিটি একটি ম্যাক্রো হিসাবে উপলব্ধ
- F5 টিপুন অথবা চালান এ ক্লিক করুন

ম্যাক্রো এবং পদ্ধতির সাথে সম্পর্ক:
- মডিউলগুলি ধরে রাখুন পদ্ধতি
- ম্যাক্রো হল সাব পদ্ধতি মডিউলে সংরক্ষিত
- একটি মডিউল ছাড়া একটি ম্যাক্রো? সম্ভব নয়, কারণ সমস্ত VBA কোড কিছু ধরণের মডিউলের মধ্যে থাকে।
কখন ব্যবহার করবেন: যেকোনো VBA প্রকল্পের জন্য। ছোট কাজের জন্য একটি মডিউল দিয়ে শুরু করুন; বিশৃঙ্খলতা এড়াতে বড়গুলির জন্য একাধিক ব্যবহার করুন৷
কিভাবে তারা একসাথে ফিট করে:ম্যাক্রো → পদ্ধতি → মডিউল
একটি ম্যাক্রো একটি উপ পদ্ধতির জন্য একটি ব্যবহারকারী-মুখী শব্দ। পদ্ধতি হল কোড ব্লক. সংগঠনের জন্য মডিউল গ্রুপ পদ্ধতি।
ওয়ার্কফ্লো উদাহরণ:
- একটি ম্যাক্রো রেকর্ড করুন → এটি একটি নতুন মডিউলে একটি উপ পদ্ধতি তৈরি করে (প্রায়শই "মডিউল1")
- পরিমার্জন করার পদ্ধতিটি সম্পাদনা করুন
- একই মডিউলে আরও পদ্ধতি যোগ করুন বা নতুন মডিউল তৈরি করুন

সর্বোত্তম অভ্যাস এবং টিপস
- নামকরণের নিয়মাবলী: Sub Macro1() এর পরিবর্তে Sub CalculateTotalSales() এর মত বর্ণনামূলক নাম ব্যবহার করুন। স্পেস এড়িয়ে চলুন; CamelCase ব্যবহার করুন।
- ত্রুটি হ্যান্ডলিং: পরবর্তী ত্রুটি পুনরায় শুরু করুন যোগ করুন অথবা On Error GoTo ErrorHandler তাদের আরও শক্তিশালী করার পদ্ধতিতে।
- নিরাপত্তা :ম্যাক্রো কোড চালাতে পারে, তাই শুধুমাত্র বিশ্বস্ত উৎস থেকে এগুলি সক্ষম করুন (ফাইল>> বিকল্প>> বিশ্বাস কেন্দ্র>> ম্যাক্রো সেটিংস )।
- ডিবাগিং: VBA সম্পাদকে কোডের মাধ্যমে ধাপে ধাপে যেতে F8 ব্যবহার করুন।
- উন্নত টিপ: ওয়ার্কবুক জুড়ে কোড পুনরায় ব্যবহার করতে মডিউল (.bas ফাইল) রপ্তানি করুন।
- সাধারণ ক্ষতি: এক্সেল ম্যাক্রোকে অফিস স্ক্রিপ্টের সাথে বিভ্রান্ত করবেন না (নতুন এক্সেল সংস্করণে জাভাস্ক্রিপ্ট-ভিত্তিক)। ডেস্কটপ অটোমেশনের জন্য VBA আরও শক্তিশালী৷
উপসংহার
এই টিউটোরিয়ালটি অনুসরণ করে, আপনি এক্সেল VBA পরিভাষা বুঝতে পারবেন:ম্যাক্রো বনাম মডিউল বনাম পদ্ধতি। এই শর্তাবলী বোঝা আপনাকে দক্ষতার সাথে VBA ব্যবহার করতে সাহায্য করবে। এটি আপনাকে VBA ডকুমেন্টেশন নেভিগেট করতে, অন্যান্য এক্সেল ব্যবহারকারীদের সাথে যোগাযোগ করতে এবং আপনার কোড আরও কার্যকরভাবে সংগঠিত করতে সহায়তা করবে। কার্যপ্রণালীগুলি দেখতে ম্যাক্রো রেকর্ড করে শুরু করুন, তারপর আপনার প্রকল্পগুলি বাড়ার সাথে সাথে সেগুলিকে মডিউলে সংগঠিত করুন। আপনার নিজের স্প্রেডশীটে একটি সাধারণ কাজ স্বয়ংক্রিয় করে অনুশীলন করুন এবং আপনি দ্রুত VBA এর শক্তি দেখতে পাবেন।
সমাধান সহ বিনামূল্যে উন্নত এক্সেল ব্যায়াম পান!