ভিবিএ ফাইন্ড নেক্সট | এক্সেল ভিবিএতে ফাইন্ডনেস্ট ফাংশনটি কীভাবে ব্যবহার করবেন?

এক্সেল ভিবিএ নেক্সট সন্ধান করুন

এক্সেলের মতো আমরা যখন সিটিআরএল + এফ টিপ করি তখন একটি উইজার্ড বাক্স পপ আপ হয় যা আমাদের প্রদত্ত ওয়ার্কশিটে একটি মান সন্ধান করতে দেয় এবং মানটি পাওয়া গেলে আমরা পরবর্তী অনুরূপ মানটি সন্ধান করার জন্য পরবর্তী সন্ধানে ক্লিক করি, কারণ এটি একটি ওয়ার্কশিট বৈশিষ্ট্য আমরা একই উদ্দেশ্যে অ্যাপ্লিকেশন.ফাইন্ডেক্সট হিসাবে এটি ভিবিএতে অ্যাপ্লিকেশন সম্পত্তি পদ্ধতি হিসাবে ব্যবহার করতে পারে।

উল্লিখিত পরিসরে নির্দিষ্ট মান সন্ধান করা ঠিক আছে তবে প্রয়োজনটি যদি একাধিক ঘটনার সাথে মান খুঁজে বের করতে পারে। পূর্ববর্তী একটি নিবন্ধে, আমরা ভিবিএতে "সন্ধান করুন" পদ্ধতিটি নিয়ে আলোচনা করেছি এবং এটি মোটেই জটিল নয় তবে সমস্ত পুনরাবৃত্তির সন্ধান কেবল এক্সেল ভিবিএতে "ফাইন্ড নেক্সট" পদ্ধতি দ্বারা সম্ভব।

এই নিবন্ধে, আমরা আপনাকে কীভাবে এক্সেল ভিবিএতে এই "পরবর্তী অনুসন্ধান করুন" ব্যবহার করবেন তা দেখাব।

এক্সেল ভিবিএতে পরবর্তী কী কী?

"নেক্সট নেক্সট" শব্দের অর্থ, যেমন সন্ধান করা सेल থেকে পরবর্তী মানটির সন্ধান চালিয়ে যাওয়া অবধি মূল কক্ষে যেখানে আমরা অনুসন্ধান শুরু করেছি সেখানে ফিরে না আসা পর্যন্ত।

এটি "সন্ধান করুন" পদ্ধতির উন্নত সংস্করণ যা উল্লিখিত পরিসরে উল্লিখিত মানটি কেবল একবার অনুসন্ধান করে।

নীচে এক্সেল ভিবিএতে FIND নেক্সট পদ্ধতির বাক্য গঠন রয়েছে।

পরে: এটি আমরা যে শব্দটি অনুসন্ধান করছি is

এক্সেল ভিবিএতে পরবর্তী পদ্ধতি অনুসন্ধানের উদাহরণ

নীচে এক্সেল ভিবিএতে পরবর্তী পদ্ধতির সন্ধানের উদাহরণ রয়েছে।

উদাহরণস্বরূপ, নীচের ডেটাটি দেখুন।

আপনি এই ভিবিএ এখানে নেক্সট এক্সেল টেম্পলেট ডাউনলোড করতে পারেন - ভিবিএ নেক্সট এক্সেল টেম্পলেটটি সন্ধান করুন

ধাপ 1 - এই ডেটাতে, আমাদের শহরটির নাম "বেঙ্গালুরু" সন্ধান করতে হবে। আসুন ভিজ্যুয়াল বেসিক সম্পাদকটিতে উপ-প্রক্রিয়া শুরু করি।

কোড:

 সাব রেঞ্জইনেক্সট_এক नमूনা () শেষ সাব 

ধাপ ২ - প্রথমে ভেরিয়েবলটিকে "রেঞ্জ" অবজেক্ট হিসাবে ঘোষণা করুন।

কোড:

 সাব রেঞ্জইনেক্সট_একটি নমুনা () ধীরে ধীরে রেঞ্জটি পরিসীমা শেষ সাব হিসাবে 

ধাপ 3 - "রেঞ্জ (" A2: A11 ") হিসাবে অবজেক্ট ভেরিয়েবলের জন্য রেফারেন্স সেট করুন।

কোড:

 সাব রেঞ্জেক্সট_সামগ্রী () ধীরে ধীরে রেঞ্জ হিসাবে রেঞ্জ সেট করুন Rng = ব্যাপ্তি ("এ 2: এ 12") শেষ সাব 

যেহেতু নগর তালিকার আমাদের ডেটাগুলি এই পরিসীমাটিতে A2 থেকে A11 কক্ষের পরিসীমাতে রয়েছে কেবলমাত্র আমরা শহরটি "বেঙ্গালুরু" অনুসন্ধান করতে যাচ্ছি।

যেহেতু আমরা পরিবর্তনশীল "Rng" এর ব্যাপ্তিটি রেফারেন্স সেট করেছি আমরা প্রতিবার RANGE ("A2: A11") ব্যবহার না করে এই পরিবর্তনশীলটি ব্যবহার করি।

পদক্ষেপ # 4 - আরএনজি ভেরিয়েবল ব্যবহার করুন এবং অনুসন্ধান পদ্ধতিটি খুলুন।

কোড:

 সাব রেঞ্জেক্সট_সামগ্রী () ধীরে ধীরে রেঞ্জ হিসাবে রেঞ্জ সেট করুন Rng = ব্যাপ্তি ("A2: A12") Rng.Find শেষ সাব 

পদক্ষেপ # 5 - এফআইএনডি পদ্ধতির প্রথম যুক্তি হ'ল "কী" অর্থাত আমরা উল্লিখিত পরিসরে যা অনুসন্ধান করার চেষ্টা করছি তাই আমরা যে মূল্যটি অনুসন্ধান করছি তা হ'ল "বেঙ্গালুরু"।

কোড:

 সাব রেঞ্জইনেক্সট_সামগ্রী () ধীরে ধীরে রেঞ্জ সেট করুন রেঞ্জ = রেঞ্জ ("এ 2: এ 12") আরএনজি.ফাইন্ড কী: = "বেঙ্গালুরু" শেষ সাব 

পদক্ষেপ # 6 - কোন কোষে আমরা এই মানটি পেয়েছি তা দেখাতে স্ট্রিং হিসাবে আরও একটি ভেরিয়েবল ঘোষণা করে।

কোড:

 সাব রেঞ্জ নেক্সট_এক্সাম্পল () স্ট্রিং সেট হিসাবে রেঞ্জ ডিমে সেলএড্রেস হিসাবে ডিমে রিং আরএনজি = রেঞ্জ ("এ 2: এ 12") 

পদক্ষেপ # 7 - এই ভেরিয়েবলের জন্য পাওয়া সেল ঠিকানা নির্ধারণ করুন।

কোড:

 সাব রেঞ্জসেক্সট_একটি নমুনা () স্ট্রিং সেট হিসাবে রেঞ্জ দিম সেলএড্রেস হিসাবে ডিমে রং রিং = রেঞ্জ ("এ 2: এ 12")। সন্ধান করুন (কী: = "ব্যাঙ্গালুরু") 

বিঃদ্রঃ: আরএনজি.এড্রেস কারণ আরএনজির কাছে পাওয়া মান কক্ষের রেফারেন্স থাকবে।

পদক্ষেপ # 8 - এখন ভিবিএতে বার্তা বাক্সে নির্ধারিত সেল ঠিকানা পরিবর্তনশীল ফলাফলটি দেখান।

 সাব রেঞ্জেক্সটেক্সটেক্সটেমেল () স্ট্রিং সেট হিসাবে রেঞ্জ ডিমে সেলএড্রেস হিসাবে ডিমে রং রিং = রেঞ্জ ("এ 2: এ 12") খুঁজে নিন (কী: = "বেঙ্গালুরু") আরএনজি।ফাইন্ড কী: = "বেঙ্গালুরু" সেল অ্যাড্রেস = আরএনজি। অ্যাড্রেস এমএসজিবক্স সেলএড্রেস এন্ড্রেস সাব 

পদক্ষেপ # 9 - কোডটি চালান এবং দেখুন আমরা এখানে কী পাই।

সুতরাং আমরা সারণি 5 এ "বেঙ্গালুরু" মানটি পেয়েছি। সন্ধানের পদ্ধতির সাহায্যে আমরা কেবলমাত্র একটি ঘর আবিষ্কার করতে পারি সুতরাং আমাদের অনুসন্ধানের পরিবর্তে এক্সেল ভিবিএতে ফিন্ড নেক্সট ব্যবহার করা উচিত।

পদক্ষেপ # 10 - আমাদের রেঞ্জ অবজেক্ট ভেরিয়েবলটি উল্লেখ করতে হবে তবে এক্সেল ভিবিএতে FIND NEXT পদ্ধতি ব্যবহার করে।

কোড:

 সাব রেঞ্জেক্সটেক্সটেক্সটেমেল () স্ট্রিং সেট হিসাবে রেঞ্জ ডিমে সেলএড্রেস হিসাবে ডিমে রং রিং = রেঞ্জ ("এ 2: এ 12") খুঁজে বের করুন (কি: = "ব্যাঙ্গালুরু") Rng.Find কি: = "বেঙ্গালুরু" সেল অ্যাড্রেস = আরএনজি।এড্রেস এমএসজিবক্স সেল অ্যাড্রেস সেট আরএনজি = রেঞ্জ ("এ 2: এ 12") Find ফাইন্ডনেক্সট (আরএনজি) শেষ সাব 

আপনি উপরে দেখতে পারেন যে আমরা ভিবিএ ফিনড নেক্সট পদ্ধতিটি ব্যবহার করেছি তবে ফাংশনের অভ্যন্তরে আমরা একটি ব্যাপ্তি অবজেক্টের ভেরিয়েবল নাম ব্যবহার করেছি।

পদক্ষেপ # 11 - এখন আবার ঘর ঠিকানা বরাদ্দ করুন এবং বার্তা বাক্সে ঠিকানাটি প্রদর্শন করুন।

কোড:

 সাব রেঞ্জেক্সটেক্সটেক্সটেমেল () স্ট্রিং সেট হিসাবে রেঞ্জ ডিমে সেলএড্রেস হিসাবে ডিমে রিং আরএনজি = ব্যাপ্তি ("এ 2: এ 12") Find 

পদক্ষেপ # 12 - ম্যাক্রোটি চালান এবং দেখুন আমরা প্রথম বার্তা বাক্সে কী পাই।

পদক্ষেপ # 13 - প্রথম বার্তা বাক্সে এ 5 সেলটিতে পাওয়া "বেঙ্গালুরু" মানটি দেখায়, পরবর্তী প্রাপ্ত মানটি দেখতে Ok বাটনে ক্লিক করুন।

দ্বিতীয় মান A7 ঘরে পাওয়া যায়, চালিয়ে যেতে Ok টিপুন।

ভিবিএ পরবর্তী খুঁজুন (লুপ ব্যবহার করে)

এটি ভিবিএ সাব-প্রসেসরটি থেকে প্রস্থান করবে তবে সেল এ 10 তে আমরা আরও একটির সন্ধান পাব। যখন মানগুলি একাধিক ঘরে সন্ধান করা হয় তখন লুপগুলি ব্যবহার করা ভাল idea

এই ক্ষেত্রে, আমাদেরও একাধিক কক্ষে "বেঙ্গালুরু" এর মান রয়েছে, সুতরাং আমাদের এখানে লুপগুলি অন্তর্ভুক্ত করতে হবে।

পদক্ষেপ # 14 - প্রথমে দুটি ভেরিয়েবলকে ব্যাপ্তি হিসাবে ঘোষণা করুন।

কোড:

 সাব রেঞ্জেক্সটেক্সটেক্সামাল 1 () রেঞ্জ এন্ড সাব সাব হিসাবে রেঞ্জ ডিমে ফাইন্ডারং 

পদক্ষেপ # 15 - নীচে প্রদর্শিত হিসাবে প্রথম পরিবর্তনশীল জন্য রেফারেন্স সেট করুন।

কোড:

 উপসীমা 

পদক্ষেপ # 16 - দ্বিতীয় ভেরিয়েবলের জন্য FIND VBA ফাংশনটি ব্যবহার করে রেফারেন্স সেট করুন।

 উপসীমা 

পদক্ষেপ # 17 - আমরা মানটি অনুসন্ধান করার আগে আমাদের চিহ্নিত করা দরকার যে কোষ থেকে আমরা অনুসন্ধানটি শুরু করছি, এর জন্য ভেরিয়েবলটিকে স্ট্রিং হিসাবে ঘোষণা করে।

কোড:

 সাব রেঞ্জনিস্ট_এক্সেম্পল 1 () সিম্প রিং হিসাবে রেঞ্জের ডিম ফাইন্ডআরং হিসাবে রেঞ্জ সেট রিং = রেঞ্জ ("এ 2: এ 11")। সন্ধান করুন (কী: = "বেঙ্গালুরু") ফাইন্ডআরং = রিং।ফাইন্ডনেক্সট ("বেঙ্গালুরু") স্ট্রিং ফার্স্টসেল হিসাবে ডিম ফার্স্টসেল = Rng.Address শেষ সাব 

পদক্ষেপ # 18 - এই ভেরিয়েবলের জন্য প্রথম কক্ষের ঠিকানা নির্ধারণ করুন।

কোড:

 সাব রেঞ্জেক্সটেক্সটেক্সেল 1 () সিম্প রিং হিসাবে রেঞ্জের ডিম ফাইন্ডআরং যেমন রেঞ্জ সেট করুন আরএনজি = রেঞ্জ ("এ 2: এ 11") ফাইন্ডআরং = আরএনজি.ফাইন্ড (কী: = "বেঙ্গালুরু") স্ট্রিং ফার্স্টসেল হিসাবে ডিমে ফার্স্টসেল = রিং।এড্রেস এন্ড সাব 

পদক্ষেপ # 19 - এখন আমাদের সমস্ত কোষের মধ্য দিয়ে লুপ করতে এবং অনুসন্ধানের মানটি খুঁজে পেতে "করণীয়" লুপ অন্তর্ভুক্ত করতে হবে।

কোড:

 সাব রেঞ্জনিস্ট_এক্সেম্পল 1 () সিম্প রিং হিসাবে রেঞ্জের ডিম ফাইন্ডআরং হিসাবে রেঞ্জ সেট রিং = রেঞ্জ ("এ 2: এ 11")। সন্ধান করুন (কী: = "বেঙ্গালুরু") ফাইন্ডআরং = রিং।ফাইন্ডনেক্সট ("বেঙ্গালুরু") স্ট্রিং ফার্স্টসেল হিসাবে ডিম ফার্স্টসেল = Rng.Address লুপ করুন যখন ফার্স্টসেল সেল dএড্রেস শেষ সাব Sub 

লুপের অভ্যন্তরে বার্তা বাক্স এবং ভিবিএ আবিষ্কার করুন নেক্সট পদ্ধতিটি উল্লেখ করুন।

পদক্ষেপ # 20 - নীচে আপনার জন্য সম্পূর্ণ কোড দেওয়া আছে।

কোড:

 সাব ফাইন্ডেক্সটেক্সটেম্পল () স্ট্রিং ফাইন্ডভ্যালু হিসাবে ডিম ফাইন্ডভ্যালু = "বেঙ্গালুরু" ডিমে রং হিসাবে রেঞ্জ সেট রিং = রেঞ্জ ("এ 2: এ 11") ডিমে ফাইন্ড্রেঞ্জ রেঞ্জ সেট ফাইন্ডআরং = আরএনজি।ফাইন্ড (কী: = ফাইন্ডভ্যালু) স্ট্রিং ফার্স্টসেল হিসাবে ডিম ফার্স্টসেল = FindRng.Address do MsgBox FindRng.Address Find FindRng = Rng.FindNext (FindRng) লুপটি ফার্স্টসেল ফাইন্ডআরএইং অ্যাড্রেস এমএসজিবক্স "অনুসন্ধান শেষ" শেষ সাব 

পদক্ষেপ # 21 - এটি সমস্ত মিলে যাওয়া সেল ঠিকানা দেখিয়ে রাখবে এবং শেষ পর্যন্ত, এটি নতুন বার্তা বাক্সে "অনুসন্ধান শেষ" হিসাবে বার্তাটি প্রদর্শন করবে।

মনে রাখার মতো ঘটনা

  • FIND পদ্ধতিটি একবারে কেবল একটি মান খুঁজে পেতে পারে।
  • এক্সেল ভিবিএতে নেক্সট সন্ধান করুন ইতিমধ্যে পাওয়া মান ঘর থেকে পরবর্তী মান খুঁজে পেতে পারে।
  • ব্যাপ্তির সমস্ত কক্ষের মধ্যে লুপ করতে লুপ ব্যবহার করুন।