সুচিপত্র
এক্সেলে VBA দিয়ে সাজানোর জন্য, আপনাকে Range.Sort পদ্ধতি প্রয়োগ করতে হবে। এই নিবন্ধে, আমরা আপনাকে দেখাব কিভাবে VBA এর রেঞ্জ. সাজান পদ্ধতির মাধ্যমে এক্সেলে কলামটি সাজানো ।
ওয়ার্কবুক ডাউনলোড করুন
আপনি এখান থেকে বিনামূল্যে অনুশীলন এক্সেল ওয়ার্কবুক ডাউনলোড করতে পারেন।
VBA.xlsm দিয়ে কলাম সাজান
Excel VBA
Range.Sort পদ্ধতি VBA এ এক্সেলের মানগুলির একটি পরিসর সাজায়। এখানে রেঞ্জ হল একটি অবজেক্ট ভেরিয়েবল যেটি সেলের পরিসীমা নির্দিষ্ট করে যেগুলিকে আমরা অধিক্রম বা অবরোহী ক্রমে সাজাতে চাই।
নিচে সেই প্যারামিটারগুলি রয়েছে যা আপনাকে জানতে হবে সম্পর্কে কী ঐচ্ছিক ভেরিয়েন্ট পরিসীমা বা কলাম নির্দিষ্ট করে যার মান সাজাতে হবে। অর্ডার ঐচ্ছিক XlSortOrder যে ক্রমানুসারে বাছাই করা হবে তা নির্দিষ্ট করে।
- xlAscending = আরোহী ক্রমে সাজাতে।
- xlDescending = নিচের ক্রমে সাজাতে।
- xlNo = যখন কলামের কোনো হেডার থাকে না; ডিফল্ট মান।
- xlYes = কখনকলামের শিরোনাম আছে।
- xlGuess = Excel কে হেডার নির্ধারণ করতে দিতে।
এক্সেলে কলাম সাজানোর জন্য VBA বাস্তবায়নের 4 পদ্ধতি
এই বিভাগে, আপনি কীভাবে হেডার সহ এবং ছাড়াই একটি একক কলাম বাছাই করবেন তা জানবেন , এর সাথে একাধিক কলাম এবং শিরোনাম ছাড়াই এবং কিভাবে একটি কলামে হেডারে ডাবল ক্লিক করে সাজাতে হয় Excel-এ।
1. Excel এ হেডার ছাড়াই একটি একক কলাম সাজানোর জন্য VBA এম্বেড করুন
আপনি যদি আপনার এক্সেল ওয়ার্কশীটে VBA কোড সহ একটি কলাম সাজাতে চান তাহলে অনুসরণ করুন নিচের ধাপ।
এটি আমাদের কলাম যা আমরা VBA কোড দিয়ে সাজাব।
পদক্ষেপ:
- আপনার কীবোর্ডে Alt + F11 টিপুন অথবা ট্যাবে যান ডেভেলপার -> ভিজ্যুয়াল বেসিক খুলতে ভিজ্যুয়াল বেসিক এডিটর ।
- পপ-আপ কোড উইন্ডোতে, মেনু বার থেকে , ক্লিক করুন ঢোকান -> মডিউল ।
- নিম্নলিখিত কোডটি কপি করুন এবং কোড উইন্ডোতে পেস্ট করুন।
9283
আপনার কোড এখন চালানোর জন্য প্রস্তুত৷
এখানে,
- কী1:=পরিসীমা(“B5”) → নির্দিষ্ট B5 কোন কলামটি সাজাতে হবে তা কোডকে জানাতে।
- Order1:=xlAscending → ক্রমটিকে xlAscending হিসাবে উল্লেখ করুন কলামটিকে আরোহী ক্রমে সাজাতে। আপনি যদি কলামটিকে নিচের ক্রমে সাজাতে চান তাহলে xlDescending এর পরিবর্তে লিখুন।
- হেডার:= xlNo →যেহেতু আমাদের কলামে কোনো হেডার নেই তাই আমরা xlNo বিকল্প দিয়ে এটি নির্দিষ্ট করেছি।
- টিপুন F5 আপনার কীবোর্ডে বা মেনু বার থেকে চালান -> সাব/ইউজারফর্ম চালান। এছাড়াও আপনি ম্যাক্রো চালানোর জন্য সাব-মেনু বারে ছোট প্লে আইকনে ক্লিক করতে পারেন।
আপনি দেখতে পাবেন যে আপনার কলামটি এখন অধিক্রমিক ক্রমে সাজানো হয়েছে ।
লক্ষ্য করুন যে এখানে আমরা ডেটা পরিসরকে ম্যানুয়ালি রেঞ্জ (“B5:B15” হিসাবে সংজ্ঞায়িত করেছি। ) ।
আপনি যদি মানগুলি যোগ করে বা মুছে ডেটা পরিবর্তন করতে চান তবে আপনি নিম্নলিখিত কোডটি প্রয়োগ করতে পারেন যা ডেটাসেটের কোষগুলির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে আপডেট হয়৷
4254
এর পরিবর্তে লক্ষ্য করুন রেঞ্জ(“B5:B15”) দ্বারা ম্যানুয়ালি পরিসর সংজ্ঞায়িত করার জন্য, আমরা লিখেছি, রেঞ্জ( “B5”, রেঞ্জ(“B5”)। End(xlDown)) .
এটি শেষ পরপর ভরা ঘরের উপর ভিত্তি করে কলামটিকে সাজাতে হবে। যদি ফাঁকা কক্ষ থাকে, তবে ডেটা শুধুমাত্র প্রথম ফাঁকা কক্ষ পর্যন্ত বিবেচিত হবে।
আরও পড়ুন: এক্সেলে টেবিল সাজানোর জন্য VBA (4 পদ্ধতি)
2. শিরোনাম সহ একটি একক কলাম সাজাতে VBA ম্যাক্রো সন্নিবেশ করান
আগের বিভাগে, আমাদের কাছে হেডার ছাড়াই একটি একক কলামের ডেটাসেট ছিল, কিন্তু এখন আমাদের কাছে a আছে শিরোনাম সহ কলাম ।
এবার আমরা শিখব কিভাবে এটি VBA ম্যাক্রো দিয়ে সাজাতে হয়।
পদক্ষেপ:
- আগের মতই, খুলুন ভিজ্যুয়াল বেসিক এডিটর ডেভেলপার ট্যাব থেকে এবং কোড উইন্ডোতে ঢোকান একটি মডিউল ।
- কোড উইন্ডোতে, নিম্নলিখিত কোডটি কপি করুন এবং পেস্ট করুন।
3457
আপনার কোড এখন চালানোর জন্য প্রস্তুত৷
এখানে,
- কী1:=রেঞ্জ(“ B5”) → নির্দিষ্ট B5 কোডটি জানাতে যে কোন কলামটি সাজাতে হবে।
- Order1:=xlDescending → এবার আমরা কলামটি সাজাব অবরোহ ক্রম তাই xlDescending হিসাবে ক্রম নির্দিষ্ট করা হয়েছে।
- হেডার:= xlYes → যেহেতু আমাদের কলামে এবার একটি হেডার আছে তাই আমরা এটি xlYes দিয়ে নির্দিষ্ট করেছি বিকল্প।
- চালান এই কোডটি এবং আপনি কলামটি নিচের ক্রমে সাজানো হেডার সহ পাবেন ।
আরো পড়ুন: এক্সেলে VBA দিয়ে লিস্টবক্স কীভাবে সাজাতে হয় (একটি সম্পূর্ণ নির্দেশিকা)
একই রকম রিডিং:
- এক্সেলে আইপি অ্যাড্রেস কীভাবে সাজাতে হয় (6 পদ্ধতি)
- [সমাধান!] এক্সেল সাজানো কাজ করছে না (২টি সমাধান)
- এক্সেলে কীভাবে সাজানোর বোতাম যুক্ত করবেন (7 পদ্ধতি)
- বাছাই রং e Excel এ VBA ব্যবহার করা (6 উদাহরণ)
- এক্সেলে নাম অনুসারে কীভাবে সাজাতে হয় (৩টি উদাহরণ)
3. শিরোনাম সহ বা ছাড়া একাধিক কলাম সাজানোর জন্য VBA ম্যাক্রো
এছাড়াও আপনি VBA কোড দিয়ে আপনার ডেটাসেটে একাধিক কলাম সাজাতে পারেন।
পদক্ষেপ:
- আগে দেখানো হিসাবে, ডেভেলপার ট্যাব থেকে ভিজ্যুয়াল বেসিক এডিটর খুলুন এবং ঢোকান একটি মডিউল কোড উইন্ডোতে।
- কোড উইন্ডোতে, নিচের কোডটি কপি করে পেস্ট করুন।
3175
আপনার কোড এখন চালানোর জন্য প্রস্তুত।
এখানে,
.SortFields.Add Key:=Range(“B4”), Order:=xlAscending
.SortFields.Add Key:=Range(“C4) ”), Order:=xlAscending
এই দুটি লাইন দ্বারা, আমরা সেল B4 এবং C4 সংজ্ঞায়িত করছি এর সাথে যুক্ত দুটি কলাম সাজানোর জন্য সেগুলো আরোহী ক্রমে ।
যেহেতু আমাদের ডেটাসেটে হেডার আছে তাই আমরা হেডার = xlYes উল্লেখ করেছি, অন্যথায় আমরা হেডার = লিখতাম। কোডের ভিতরে xlNo ।
- চালান এই কোডটি এবং আপনি কলামগুলি ঊর্ধ্বক্রম অনুসারে সাজানো হেডার সহ পাবেন ।
36>
4. এক্সেলের হেডারে ডাবল ক্লিক করে ডেটা সাজাতে ম্যাক্রো
আপনি যদি সহজে ডেটা সাজাতে চান শুধুমাত্র হেডারে ডাবল ক্লিক করে , তাহলে আপনি এটি <এর সাথে করতে পারেন। 1>VBA কোড।
পদক্ষেপ:
- ডান-ক্লিক করুন শীট ট্যাবে .
- উপস্থাপিত বিকল্প তালিকা থেকে, কোড দেখুন ক্লিক করুন।
- কোড উইন্ডো আসবে, নিচের কোডটি কপি করুন এবং সেখানে পেস্ট করুন।
1433
- কোডটি সংরক্ষণ করুন।
- এখন আগ্রহের ওয়ার্কশীটে ফিরে যান এবং যদি আপনি হেডারগুলিতে ডাবল ক্লিক করুন আপনি দেখতে পাবেন কলামগুলি পুনর্গঠিত হচ্ছে৷
আরও পড়ুন: কীভাবে ডেটা সাজাতে এবং ফিল্টার করতে হয় এক্সেল (একটি সম্পূর্ণ নির্দেশিকা)
মনে রাখার জিনিসগুলি
- আপনি একটি নামযুক্ত পরিসর তৈরি করতে পারেন এবং যখন আপনি এর ভিতরে সেল রেফারেন্সের একটি পরিসর পাস করেন তখন এটি ব্যবহার করতে পারেন সাজান পদ্ধতি। উদাহরণস্বরূপ, আপনি যদি রেঞ্জ A1:A10 সাজাতে চান, কোডের ভিতরে প্রতিবার পাস করার পরিবর্তে, আপনি এটির একটি নামযুক্ত পরিসর তৈরি করতে পারেন, যেমন “ SortRange<40 ” এবং এটিকে রেঞ্জ। সাজান পদ্ধতিতে ব্যবহার করুন যেমন রেঞ্জ(“সর্টরেঞ্জ”) ।
- আপনি যদি নিশ্চিত না হন যে আপনার ডেটাসেটে হেডার আছে কিনা। বা না, আপনি xlGuess প্যারামিটার ব্যবহার করে সিস্টেমকে এটি নির্ধারণ করতে দিতে পারেন।
উপসংহার
এই নিবন্ধটি আপনাকে দেখিয়েছে কিভাবে কলাম সাজান এক্সেল VBA । আমি আশা করি এই নিবন্ধটি আপনার জন্য খুব উপকারী হয়েছে. বিষয় সম্পর্কে আপনার কোন প্রশ্ন থাকলে নির্দ্বিধায় জিজ্ঞাসা করুন।