VBA ব্যবহার করে কিভাবে Excel এর Column Value গুলো কে Automatic Shorting করবেন?



জাদুকরী Excel এর বিষয়ে অনেক জানার আছে সাথে আছে চরম ব্যবহার। আজ শিখবেন কিভাবে Visual Basic for Applications (VBA) ব্যবহার করে Automatic ভাবে কোন Data Table এর Data কে Sorting করতে হয়। আগেই বলে রাখি পুরাটা মনোযগ দিয়ে দেখুন নিজে করুন সমস্যা থাকলে শেয়ার করুন। আর এই ধরনের Data Sorting করতে আলাদা ভাবে কোন Data Table ব্যবহার করা লাগবে না। পূর্বের টপিকস এ দুইটা Data Table ব্যবহার করে কিভাবে Top 05 বা Top 10 ডাটা বের করতে হয় সেটা নিয়ে আলোচনা করেছিলাম। না জানা থাকলে এক পলক দেখে নিতে পারেন।


আজ আসি কিভাবে VBA ব্যবহার করে Auto Sorting করা যায়।
আসুন কাজ টিকে দুইটা ভাগে ভাগ করে নিইঃ
১. Data Table
২. Visual Basic for Applications (VBA)
ঝটপট নিচের Table এর মত একটা Data Table তৈরি করে ফেলুন

Fig: Source Data Table

খুবই সুন্দর... :D

পূর্বের টপিক এ দেখিয়েছিলাম কি ভাবে Rank নির্ধারন করতে হয়। এখন সেটাই করবো কারন আমরা চাইছি SL No টা যেনো সব সময় Ascending ভাবে থাকুক। এর জন্য নিচের আর্টিকেল টা পড়ে ফেলুনঃ

লিঙ্কঃ 

হয়ে গেলো SL No টা Ascending এবং এক্সেল অংশের কাজ।

এখন আপনার Data Table টার Cell সম্পর্কে ভাল করে ধারনা নিন।
তার পরেই নিচের মত আপনার Excel Sheet Mouse Right Click করুন। নিচের মত একটা Option পেয়ে যাবেন
Fig: For VBA


উপরের Option হতে ‘View Code’ টা Select করুন।
 
Fig: VBA Panel


চিন্তা নেই উপরের মত একটা Window আসবে।
কোন ভয় নেই আপনি আজই হয়ে যাবে Excel Programmer :D
নিচে যে কোড টা দিচ্ছি সেটা শুধু Copy করে এখানে Paste করে দিন...



Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("C:C")) Is Nothing Then
Range("C2").Sort Key1:=Range("C3"), _
Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub



Subscribe to our SolveTune channel: Subscribe


Copy-Paste শেষ হলেই কাজ শেষ। এখন শুধু Ctrl+S দিয়ে Save করে বের হয়ে পড়ুন।
তার পরে আপনার Data Table হতে যে কোন একটি Value কমিয়ে দিন...
কি দেখলেন?
Fig: Auto Short Data Table

উপরের মত Data Table ..?
এখন ইচ্ছা মত Value পরিবর্তন করুন দেখুন আপনার Data গুলো Automatic ভাবে Highest Value অনুযায়ী Sort হয়ে যাচ্ছে।

নিচের নোট না পড়ে কোথায় যান???
Big Note: 
VBA এর যে Code আছে সেটা নিয়ে আপনার করনীয়ঃ
১. যে Column এর Value টা Shorting করতে চান সেটার Location চেঞ্জ করার জন্য Coding এর মধ্যে দেখুন লেখা আছে “ If Not Intersect(Target, Range("C:C")) Is Nothing Then ” এখানে C:C চেঞ্জ করে আপনার Shorting Column Location ব্যবহার করুন। যেমনঃ A:A বা E:E অথবা G:G

২. আপনার Table Headline টার Location টা দেখেনিন এবং VBA Coding এর ভিতরে দেখুন লেখা আছে “ Range("C2").Sort Key1 ” এখানে C2 এর পরিবর্তে আপনার Column Heading Cell Location টা দিয়ে দিন।

৩. যে Cell হতে আপনি Data Sorting দেখতে চাইছেন সেটা চেঞ্জ করতে অর্থাৎ আপনার যে Column Heading Cell আছে সেটার নিচের টার Location দেখেনিন এবং VBA Coding এর ভিতরে দেখুন লেখা আছে “ :=Range("C3"), _ ” এখানে C3 এর পরিবর্তে আপনার Column Heading Cell এর পরে Cell টা দিয়ে দিন।

ব্যাচ... হয়েই তো গেলেন Excel VBA programmer.
আপনার তৈরি Data Table এর একটি স্ক্রিন শর্ট অবশ্যই Comment এ শেয়ার করবেন (উৎসাহ পাবো)



কোন প্রকার মতামত থাকলে নিচের ফেসবুকের কমেন্ট বক্স ইউজ করে কমেন্ট করতে পারেন।
কমেন্ট করার সময় অবশ্যই নিচের Check Box টিতে Click করবেন

সমস্যা হলে তারও নিচে ব্লগ কমেন্ট বক্স আছে সেখানেও করতে পারেন।



Responses

0 Respones to "VBA ব্যবহার করে কিভাবে Excel এর Column Value গুলো কে Automatic Shorting করবেন?"

Return to top of page Copyright © 2011 | AL AMIN ET Converted into Blogger Template by SEO Templates