সুচিপত্র
সবচেয়ে গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত ফাংশনগুলির মধ্যে একটি যা আমরা ভিজ্যুয়াল বেসিক অ্যাপ্লিকেশন (VBA) এ ব্যবহার করি তা হল Find ফাংশন। এই নিবন্ধে, আমি আপনাকে দেখাব কিভাবে আপনি সঠিক উদাহরণ এবং চিত্র সহ এক্সেলের FIND ফাংশন ব্যবহার করতে পারেন।
প্র্যাকটিস ওয়ার্কবুক ডাউনলোড করুন
<6 Excel.xlsm এ VBA তে ফাংশন খুঁজুন
6 দ্রুত উদাহরণ VBA এ FIND ফাংশন ব্যবহার করার জন্য
এখানে আমরা পেয়েছি মার্টিন বুকস্টোর নামে একটি বইয়ের দোকানের বইয়ের নাম, লেখক এবং মূল্য সহ একটি ডেটা সেট পেয়েছি৷
আজ আমাদের উদ্দেশ্য হল এই ডেটা সেট থেকে VBA এর ফাইন্ড ফাংশন এর বিভিন্ন ধরনের ব্যবহার দেখা৷
1৷ কোন প্যারামিটার ছাড়াই VBA তে Find ফাংশনটি ব্যবহার করুন
আপনি কোন প্যারামিটার ছাড়াই VBA এর ফাইন্ড ফাংশন ব্যবহার করতে পারেন।
তারপর এটি কক্ষের একটি পরিসরের মধ্যে একটি নির্দিষ্ট মান অনুসন্ধান করবে এবং এটির প্রথম মিলটি ফেরত দেবে।
আসুন নামটি অনুসন্ধান করা যাক “P. B. Shelly” কলামে Author ( C4:C13 )।
ফাইন্ড ফাংশন সহ লাইনটি হবে:
Set cell = Range("C4:C17").Find("P. B. Shelly")
সম্পূর্ণ VBA কোড হবে:
⧭ VBA কোড:
3445
⧭ আউটপুট:
এটি একটি তৈরি করে ম্যাক্রো কে বলা হয় Find । আপনি যদি ম্যাক্রো চালান, এটি $C$6 ফেরত দেবে, নাম P সহ প্রথম ঘরের ঠিকানা। বি. শেলি ।
আরো পড়ুন: ভিবিএ এর সাথে একটি পরিসরের মধ্যে খুঁজুনএক্সেল: সঠিক এবং আংশিক মিল সহ
2। আফটার প্যারামিটারের সাথে VBA তে Find ফাংশন প্রয়োগ করুন (একটি নির্দিষ্ট সেল থেকে অনুসন্ধান শুরু করতে)
আপনি Find ফাংশন এর সাথে After প্যারামিটার ব্যবহার করতে পারেন VBA -এ। তারপর এটি একটি পরিসরের মধ্যে একটি ঘরের নীচে থেকে একটি মান অনুসন্ধান করা শুরু করবে৷
উদাহরণস্বরূপ, আসুন নামটি অনুসন্ধান করা শুরু করি “P. B. Shelly” নিচের সেল C6 থেকে।
কোডের লাইন হবে:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
এবং সম্পূর্ণ VBA কোড হবে:
⧭ VBA কোড:
3292
⧭ আউটপুট:
এটি ফিরে আসবে $C$13 কারণ এটি নীচের সেল C6 থেকে অনুসন্ধান করা শুরু করে, এটি সেল C7 থেকে। তাই এটি P পায়। B. শেলি কক্ষে C13 প্রথমে।
আরো পড়ুন: কিভাবে একটি স্ট্রিং খুঁজে পাবেন Excel এ VBA ব্যবহার করে সেল
3. আফটার প্যারামিটারের চারপাশে মোড়ানোর সাথে ভিবিএ-তে ফাইন্ড ফাংশনটি চালান (বৃত্তাকার উপায়ে একটি মান অনুসন্ধান করতে)
ফাংশন খুঁজুন<2 সহ পর প্যারামিটার> একটি বৃত্তাকার উপায়ে একটি মান অনুসন্ধান করে
অর্থাৎ, এটি একটি পরিসরের মধ্যে একটি ঘরের নীচে থেকে অনুসন্ধান করা শুরু করে, পরিসরে অনুসন্ধান করা শেষ করে এবং তারপর আবার পরিসরের শীর্ষ থেকে শুরু করে৷
উদাহরণস্বরূপ, আসুন After প্যারামিটার ব্যবহার করে নিচের সেল C8 থেকে “জন কিটস” নামটি অনুসন্ধান করা শুরু করি।
এর লাইন কোড হবে:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
এবংসম্পূর্ণ VBA কোড হবে:
⧭ VBA কোড:
4144
⧭ আউটপুট:
এটি $C$7 ফিরে আসবে কারণ এটি নীচের সেল C8 থেকে অনুসন্ধান করা শুরু করে, যেটি থেকে সেল C9 ।
এটি সেল C13 পর্যন্ত কিছু খুঁজে পায় না, তাই এটি আবার সেল C4 থেকে শুরু হয় এবং সেলে একটি খুঁজে পায় 1 এক্সেলে (৮টি উদাহরণ)
4. ভিবিএতে ফাইন্ড ফাংশনটি লুকএট প্যারামিটারের সাথে ব্যবহার করুন (সঠিক বা আংশিক মিলের জন্য)
আপনি ভিবিএ -এ ফাইন্ড ফাংশন ব্যবহার করতে পারেন>LookAt প্যারামিটার।
একটি ঠিক মিলের জন্য LookAt = xlWhole ব্যবহার করুন এবং আংশিক জন্য LookAt=xlPart ব্যবহার করুন মিল।
উদাহরণস্বরূপ, আসুন খুঁজে বের করার চেষ্টা করি বইয়ের নাম কলামে “ওড” নামের কোনো বই আছে কিনা ( B4:B13 )।
যদি আমরা কোডের লাইনে xlWhole ব্যবহার করি:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
আউটপুট একটি ত্রুটি দেখাবে কারণ এটি কোনো সঠিক মিল খুঁজে পাবে না।
21>
কিন্তু আপনি যদি ব্যবহার করেন:
<7 Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
তারপর এটি ফিরে আসবে $B$9 , কারণ সেখানে “Ode” নামে একটি বই আছে কক্ষে B7 , Ode to the Nightingale.
তাই আংশিক ম্যাচের জন্য সম্পূর্ণ কোডহল:
⧭ VBA কোড:
9146
5. SearchDirection প্যারামিটার দিয়ে VBA-তে Find ফাংশন পরিচালনা করুন (অনুসন্ধানের দিকনির্দেশ নির্দিষ্ট করতে)
এছাড়াও আপনি VBA -এ ফাইন্ড ফাংশন ব্যবহার করতে পারেন SearchDirection প্যারামিটার।
Use SearchDirection = xlNext Top to Bottom সার্চ করার জন্য।
এবং SearchDirection = xlPrevious সার্চ করার জন্য Bottom থেকে Top .
উদাহরণস্বরূপ, আসুন Author কলামে Elif Shafak লেখককে খুঁজে বের করার চেষ্টা করি। ( C4:C13 )।
যদি আমরা কোডের লাইনে xlNext ব্যবহার করি:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
তারপর এটি $C$5 ফিরে আসবে।
কিন্তু আপনি যদি ব্যবহার করেন:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
তারপর এটি ফিরে আসবে $C$11 ।
তাই নিচ থেকে উপরের দিকে সার্চ করার জন্য সম্পূর্ণ কোড হলো:
⧭ VBA কোড:
6147
6. ম্যাচকেস প্যারামিটার সহ VBA-তে ফাংশন খুঁজুন (কেস-সংবেদনশীল বা অসংবেদনশীল ম্যাচের জন্য)
অবশেষে, আপনি MatchCase প্যারামিটারের সাথে ফাইন্ড ফাংশন ব্যবহার করতে পারেন।
একটি কেস-সংবেদনশীল ম্যাচ , এবং এর জন্য MatchCase=False এর জন্য MatchCase = True ব্যবহার করুন কেস-সংবেদনশীল মিল।
উদাহরণস্বরূপ, আসুন বইয়ের নাম কলামে ( B4:B13) বইটি “মা” খোঁজার চেষ্টা করি ).
যদি আমরা কোডের লাইনে True ব্যবহার করি:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
আউটপুট একটি ত্রুটি দেখাবে কারণ এটি হবে' কোন খুঁজে নাম্যাচ৷
কিন্তু আপনি যদি ব্যবহার করেন:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
তাহলে এটি ফিরে আসবে $ B$9 কারণ B8 কক্ষে “মা” নামে একটি বই আছে।
তাই সম্পূর্ণ কোড কেস-অসংবেদনশীল মিল হল:
⧭ VBA কোড:
9988
<4 উপসংহার
এই পদ্ধতিগুলি ব্যবহার করে, আপনি ভিজ্যুয়াল বেসিক অ্যাপ্লিকেশনে ফাইন্ড ফাংশনটি ব্যবহার করতে পারেন। আপনি কি কিছু জানতে চান? নির্দ্বিধায় আমাদের জিজ্ঞাসা করুন৷
৷