সুচিপত্র
আজ আমরা কাস্টম এক্সেল ফাংশনগুলি অন্বেষণ চালিয়ে যাব। যেহেতু আপনি ইতিমধ্যেই জানেন কিভাবে ইউডিএফ তৈরি করতে হয় (এবং, আমি আশা করি, আপনি সেগুলিকে আপনার এক্সেলে প্রয়োগ করার চেষ্টা করেছেন), আসুন একটু গভীরে খনন করি এবং এক্সেলে ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলি কীভাবে ব্যবহার এবং সংরক্ষণ করতে হয় তা শিখি।
তাছাড়া, আমরা আপনাকে দেখাব কিভাবে সহজে আপনার ফাংশনগুলিকে একটি এক্সেল অ্যাড-ইন ফাইলে সংরক্ষণ করতে হয় যাতে সেগুলিকে পরবর্তীতে কয়েকটি ক্লিকে ব্যবহার করা যায়৷
সুতরাং, এখানে আমরা কী সম্পর্কে কথা বলতে যাচ্ছি:<1
Excel এ UDF ব্যবহার করার বিভিন্ন উপায়
ওয়ার্কশীটে UDF ব্যবহার করা
আপনার UDF সঠিকভাবে কাজ করছে কিনা তা যাচাই করলে, আপনি সেগুলিকে Excel এ ব্যবহার করতে পারেন সূত্র বা VBA কোডে।
আপনি নিয়মিত ফাংশন ব্যবহার করার মতো করে একটি এক্সেল ওয়ার্কবুকে কাস্টম ফাংশন প্রয়োগ করতে পারেন। উদাহরণ স্বরূপ, শুধুমাত্র একটি ঘরে নিচের সূত্রটি লিখুন:
= GetMaxBetween(A1:A6,10,50)
UDF নিয়মিত ফাংশনের সাথে একত্রে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, গণনাকৃত সর্বাধিক মানটিতে পাঠ্য যোগ করুন:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
আপনি নীচের স্ক্রিনশটে ফলাফল দেখতে পারেন:
আপনি যে সংখ্যাটি সর্বাধিক এবং 10 থেকে 50 উভয়ের মধ্যেই তা খুঁজে পেতে পারে।
আসুন আরেকটি সূত্র পরীক্ষা করা যাক:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
কাস্টম ফাংশন GetMaxBetween পরিসরটি B2:B9 পরীক্ষা করে এবং 10 থেকে 50 এর মধ্যে সর্বাধিক সংখ্যা খুঁজে পায়। তারপর, INDEX + MATCH ব্যবহার করে, আমরা পণ্যের নামটি পাই যা এই সর্বোচ্চ মানের সাথে মেলে:
আপনি দেখতে পাচ্ছেন, কাস্টম ফাংশনগুলির ব্যবহার নিয়মিত এক্সেল থেকে খুব বেশি আলাদা নয়ফাংশন।
এটি করার সময়, মনে রাখবেন যে একটি ব্যবহারকারী-সংজ্ঞায়িত ফাংশন শুধুমাত্র একটি মান ফেরত দিতে পারে, কিন্তু অন্য কোনো কাজ করতে পারে না। ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলির সীমাবদ্ধতা সম্পর্কে আরও পড়ুন৷
VBA পদ্ধতি এবং ফাংশনে UDF ব্যবহার করা
UDFগুলি VBA ম্যাক্রোতেও ব্যবহার করা যেতে পারে৷ নীচে আপনি ম্যাক্রো কোড দেখতে পাবেন যেটি সক্রিয় সেল সম্বলিত কলামে 10 থেকে 50 পর্যন্ত পরিসরে সর্বাধিক মান খোঁজে৷
Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( সেল(ActiveCell.CurrentRegion.Row, ActiveCell.Column), সেল (ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.0,) = 0,5 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End with End Subম্যাক্রো কোডে কাস্টম ফাংশন রয়েছে
GetMaxBetween(.Cells, 10, 50)
এটি সক্রিয় কলামে সর্বাধিক মান খুঁজে পায়। এই মান তারপর হাইলাইট করা হবে. আপনি নীচের স্ক্রিনশটে ম্যাক্রোর ফলাফল দেখতে পারেন৷
একটি কাস্টম ফাংশন অন্য কাস্টম ফাংশনের ভিতরেও ব্যবহার করা যেতে পারে৷ এর আগে আমাদের ব্লগে, আমরা SpellNumber নামের কাস্টম ফাংশনটি ব্যবহার করে একটি সংখ্যাকে টেক্সটে রূপান্তর করার সমস্যাটি দেখেছি।
এর সাহায্যে, আমরা পরিসর থেকে সর্বোচ্চ মান পেতে পারি এবং অবিলম্বে এটিকে পাঠ্য হিসাবে লিখুন৷
এটি করার জন্য, আমরা একটি নতুন কাস্টম ফাংশন তৈরি করব যাতে আমরা ফাংশনগুলি ব্যবহার করব GetMaxBetween এবং SpellNumber যা আমাদের কাছে ইতিমধ্যেই পরিচিত।
ফাংশন SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween, MaxNum) (rngCells) ফাংশনযেমন আপনি দেখতে পাচ্ছেন, GetMaxBetween ফাংশনটি আরেকটি কাস্টম ফাংশনের একটি আর্গুমেন্ট, SpellNumber । এটি সর্বাধিক মান নির্ধারণ করে, যেমনটি আমরা আগে অনেকবার করেছি। এই সংখ্যাটি তারপর টেক্সটে রূপান্তরিত হয়।
উপরের স্ক্রিনশটে, আপনি দেখতে পাচ্ছেন কিভাবে SpellGetMaxBetween ফাংশন 100 থেকে 500 এবং এর মধ্যে সর্বাধিক সংখ্যা খুঁজে বের করে তারপর এটিকে টেক্সটে রূপান্তরিত করে।
অন্যান্য ওয়ার্কবুক থেকে UDF কল করা
আপনি যদি আপনার ওয়ার্কবুকে UDF তৈরি করে থাকেন, দুর্ভাগ্যবশত, এর মানে এই নয় যে আপনি কোনো সমস্যায় পড়বেন না।
আমার অভিজ্ঞতায়, বেশির ভাগ ব্যবহারকারীই শীঘ্রই বা পরে ব্যক্তিগত প্রক্রিয়া এবং গণনা স্বয়ংক্রিয় করতে ম্যাক্রো এবং কাস্টম ফাংশনের ব্যক্তিগত সংগ্রহ তৈরি করে। এবং এখানে সমস্যা দেখা দেয় - ভিজ্যুয়াল বেসিকের ব্যবহারকারীর সংজ্ঞায়িত ফাংশনগুলির কোডটি কোথাও সংরক্ষণ করা প্রয়োজন যাতে পরে কাজে ব্যবহার করা যায়৷
কাস্টম ফাংশন প্রয়োগ করতে, আপনি যে ওয়ার্কবুকটি সংরক্ষণ করেছেন সেটি অবশ্যই খোলা থাকতে হবে আপনার এক্সেলে। যদি তা না হয়, তাহলে আপনি #NAME পাবেন! এটি ব্যবহার করার চেষ্টা করার সময় ত্রুটি। এই ত্রুটিটি নির্দেশ করে যে আপনি সূত্রে যে ফাংশনটি ব্যবহার করতে চান তার নাম Excel জানে না৷
আসুন এর উপায়গুলি দেখে নেওয়া যাকযা আপনি আপনার তৈরি করা কাস্টম ফাংশনগুলি ব্যবহার করতে পারেন।
পদ্ধতি 1. ফাংশনে ওয়ার্কবুকের নাম যোগ করুন
আপনি ওয়ার্কবুকের নাম উল্লেখ করতে পারেন যেখানে এটির নামের আগে অবস্থিত ফাংশন উদাহরণস্বরূপ, আপনি যদি My_Functions.xlsm নামের একটি ওয়ার্কবুকে GetMaxBetween() একটি কাস্টম ফাংশন সংরক্ষণ করেন, তাহলে আপনাকে অবশ্যই নিম্নলিখিত সূত্রটি লিখতে হবে:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
পদ্ধতি 2. সমস্ত UDF একটি সাধারণ ফাইলে সংরক্ষণ করুন
একটি বিশেষ ওয়ার্কবুকে সমস্ত কাস্টম ফাংশন সংরক্ষণ করুন (উদাহরণস্বরূপ, My_Functions.xlsm ) এবং এটি থেকে পছন্দসই ফাংশনটি কপি করুন বর্তমান ওয়ার্কবুক, যদি প্রয়োজন হয়।
প্রতিবার যখন আপনি একটি নতুন কাস্টম ফাংশন তৈরি করেন, আপনাকে ওয়ার্কবুকে এর কোড ডুপ্লিকেট করতে হবে যেখানে আপনি এটি ব্যবহার করবেন। এই পদ্ধতির সাথে, বিভিন্ন অসুবিধার সৃষ্টি হতে পারে:
- যদি অনেকগুলি কাজের ফাইল থাকে এবং ফাংশনটি সর্বত্র প্রয়োজন হয়, তাহলে কোডটি প্রতিটি বইয়ে কপি করতে হবে৷
- ওয়ার্কবুকটিকে একটি ম্যাক্রো-সক্রিয় ফর্ম্যাটে (.xlsm বা .xlsb) সংরক্ষণ করতে মনে রাখবেন।
- এই ধরনের ফাইল খোলার সময়, ম্যাক্রোর বিরুদ্ধে সুরক্ষা প্রতিবার একটি সতর্কতা প্রদর্শন করবে, যা নিশ্চিত করতে হবে। অনেক ব্যবহারকারী ভয় পেয়ে যান যখন তারা একটি হলুদ বারের সতর্কবাণী দেখেন যা তাদের ম্যাক্রো সক্ষম করতে বলে। এই বার্তাটি দেখা এড়াতে, আপনাকে এক্সেল সুরক্ষা সম্পূর্ণরূপে অক্ষম করতে হবে৷ যাইহোক, এটি সবসময় সঠিক এবং নিরাপদ নাও হতে পারে।
আমি মনে করি আপনি আমার সাথে একমত হবেন যে সব সময় একটি খোলারফাইল এবং এটি থেকে ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলির কোড অনুলিপি করা বা একটি সূত্রে এই ফাইলটির নাম লেখা সেরা সমাধান নয়। এইভাবে, আমরা তৃতীয় উপায়ে চলে এসেছি।
পদ্ধতি 3. একটি এক্সেল অ্যাড-ইন ফাইল তৈরি করুন
আমি মনে করি সবচেয়ে ভাল উপায় হল একটি এক্সেল অ্যাড-ইন ফাইলে প্রায়শই ব্যবহৃত কাস্টম ফাংশন সংরক্ষণ করা . অ্যাড-ইন ব্যবহার করার সুবিধা:
- আপনাকে অ্যাড-ইনটি একবার এক্সেলের সাথে সংযুক্ত করতে হবে। এর পরে, আপনি এই কম্পিউটারে যেকোনো ফাইলে এর পদ্ধতি এবং ফাংশন ব্যবহার করতে পারেন। আপনার ওয়ার্কবুকগুলিকে .xlsm এবং .xlsb ফর্ম্যাটে সংরক্ষণ করার দরকার নেই কারণ সোর্স কোডটি সেগুলিতে সংরক্ষণ করা হবে না কিন্তু অ্যাড-ইন ফাইলে৷
- আপনি আর ম্যাক্রো সুরক্ষা দ্বারা বিরক্ত হবেন না অ্যাড-ইনগুলি সর্বদা বিশ্বস্ত উত্সগুলিকে নির্দেশ করে৷
- একটি অ্যাড-ইন একটি পৃথক ফাইল৷ এটি কম্পিউটার থেকে কম্পিউটারে স্থানান্তর করা সহজ, সহকর্মীদের সাথে শেয়ার করা কাস্টম ফাংশন সংরক্ষণ করার জন্য ইনস
আমি কীভাবে আমার নিজের অ্যাড-ইন তৈরি করব? চলুন ধাপে ধাপে এই প্রক্রিয়ার মধ্য দিয়ে যাই।
ধাপ 1। অ্যাড-ইন ফাইল তৈরি করুন
Microsoft Excel খুলুন, একটি নতুন ওয়ার্কবুক তৈরি করুন এবং যেকোনো উপযুক্ত নামের অধীনে সংরক্ষণ করুন (উদাহরণস্বরূপ, My_Functions) অ্যাড-ইন ফরম্যাটে। এটি করার জন্য, মেনু ব্যবহার করুন ফাইল - হিসাবে সংরক্ষণ করুন বা F12 কী। Excel Add-in :
আপনার অ্যাড-ইন-এ এক্সটেনশন থাকবে .xlam।
ফাইলের ধরন নির্দিষ্ট করতে ভুলবেন না। টিপ। দয়া করে মনে রাখবেনডিফল্টরূপে এক্সেল C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns ফোল্ডারে অ্যাড-ইনগুলি সঞ্চয় করে। আমি আপনাকে ডিফল্ট অবস্থান গ্রহণ করার সুপারিশ করছি। আপনি যদি চান, আপনি অন্য কোনো ফোল্ডার নির্দিষ্ট করতে পারেন। কিন্তু তারপরে, অ্যাড-ইন সংযোগ করার সময়, আপনাকে এটির নতুন অবস্থান ম্যানুয়ালি খুঁজে বের করতে হবে এবং নির্দিষ্ট করতে হবে। আপনি যদি এটিকে ডিফল্ট ফোল্ডারে সংরক্ষণ করেন তবে আপনাকে আপনার কম্পিউটারে অ্যাড-অন খুঁজতে হবে না। এক্সেল স্বয়ংক্রিয়ভাবে এটি তালিকাভুক্ত করবে।
ধাপ 2. অ্যাড-ইন ফাইলটি সংযুক্ত করুন
এখন আমরা যে অ্যাড-ইন তৈরি করেছি সেটিকে এক্সেলের সাথে সংযুক্ত করতে হবে। তারপর প্রোগ্রাম শুরু হলে এটি স্বয়ংক্রিয়ভাবে লোড হবে। এটি করার জন্য, ফাইল - বিকল্প - অ্যাড-ইনস মেনুটি ব্যবহার করুন। নিশ্চিত করুন যে Excel Add-Ins নির্বাচন করা হয়েছে Manage ক্ষেত্রে। উইন্ডোর নীচে যাও বোতামে ক্লিক করুন। প্রদর্শিত উইন্ডোতে, আমাদের অ্যাড-ইন My_Functions চিহ্নিত করুন। আপনি যদি তালিকায় এটি দেখতে না পান, তাহলে ব্রাউজ করুন বোতামে ক্লিক করুন এবং আপনার অ্যাড-ইন ফাইলের অবস্থানে ব্রাউজ করুন।
যদি আপনি কাস্টম ফাংশন সংরক্ষণ করার জন্য একটি অ্যাড-ইন ব্যবহার করছেন, অনুসরণ করার জন্য একটি সহজ নিয়ম আছে। আপনি যদি ওয়ার্কবুকটি অন্য লোকেদের কাছে স্থানান্তর করে থাকেন, তবে অ্যাড-ইনটির একটি অনুলিপিও স্থানান্তর করতে ভুলবেন না যাতে আপনার পছন্দের কার্যকারিতা রয়েছে। আপনি এখন যেভাবে করেছেন সেভাবে তাদের এটিকে সংযুক্ত করা উচিত।
ধাপ 3। অ্যাড-ইন-এ কাস্টম ফাংশন এবং ম্যাক্রো যোগ করুন
আমাদের অ্যাড-ইন এক্সেলের সাথে সংযুক্ত, কিন্তু এটি করে না কোনো কার্যকারিতা নেইএখনো. এতে নতুন UDF যোগ করতে, Alt + F11 টিপে ভিজ্যুয়াল বেসিক এডিটর খুলুন। তারপর আপনি আমার UDFs তৈরি টিউটোরিয়ালে বর্ণিত VBA কোড সহ নতুন মডিউল যোগ করতে পারেন।
এতে আপনার অ্যাড-ইন ফাইল ( My_Finctions.xlam ) নির্বাচন করুন VBAProject উইন্ডো। একটি কাস্টম মডিউল যোগ করতে ঢোকান - মডিউল মেনু ব্যবহার করুন। আপনাকে এটিতে কাস্টম ফাংশন লিখতে হবে৷
আপনি হয় ব্যবহারকারীর সংজ্ঞায়িত ফাংশনের কোড ম্যানুয়ালি টাইপ করতে পারেন বা এটি কোথাও থেকে অনুলিপি করতে পারেন৷
এটুকুই৷ এখন আপনি নিজের অ্যাড-ইন তৈরি করেছেন, এটি এক্সেলে যোগ করেছেন এবং আপনি এতে UDF ব্যবহার করতে পারেন। আপনি যদি আরও UDF ব্যবহার করতে চান, তাহলে VBA সম্পাদকের অ্যাড-ইন মডিউলে কোডটি লিখুন এবং এটি সংরক্ষণ করুন।
আজকের জন্য এটাই। আমরা আপনার ওয়ার্কবুকে ইউজার ডিফাইনড ফাংশন ব্যবহার করতে শিখেছি। আমরা সত্যিই আশা করি আপনি এই নির্দেশিকাগুলি সহায়ক বলে মনে করেন। যদি আপনার কোন প্রশ্ন থাকে, এই নিবন্ধে মন্তব্য লিখুন.