কিভাবে এক্সেলে VBA দিয়ে স্ট্রিং খুঁজে পাবেন (8 উদাহরণ)

  • এই শেয়ার করুন
Hugh West

VBA বাস্তবায়ন করা হল Excel-এ যেকোনো অপারেশন চালানোর জন্য সবচেয়ে কার্যকর, দ্রুততম এবং নিরাপদ পদ্ধতি। এই নিবন্ধে, আমরা আপনাকে দেখাব কিভাবে এক্সেলের VBA ব্যবহার করে অন্য প্রদত্ত স্ট্রিং-এ কিছু নির্দিষ্ট স্ট্রিং খুঁজে পাওয়া যায়।

অভ্যাস টেমপ্লেট ডাউনলোড করুন

আপনি এখান থেকে বিনামূল্যে অনুশীলন এক্সেল টেমপ্লেট ডাউনলোড করতে পারেন।

String.xlsm এ খুঁজে পেতে VBA

InStr ফাংশন

মাইক্রোসফ্ট এক্সেলের একটি বিল্ট-ইন ফাংশন রয়েছে যাকে বলা হয় InStr ফাংশন নির্দিষ্ট স্ট্রিং-এ নির্দিষ্ট স্ট্রিংগুলির অবস্থান খুঁজে বের করতে।

জেনারিক সিনট্যাক্স:

InStr([start], string1, string2, [compare])

এখানে,

আর্গুমেন্ট প্রয়োজনীয়/ ঐচ্ছিক সংজ্ঞা
শুরু ঐচ্ছিক অনুসন্ধানের শুরুর অবস্থান।
  • ডিফল্টরূপে, InStr ফাংশন 1 থেকে গণনা করে অক্ষরের অবস্থান গণনা করে, শুরুর অবস্থান থেকে নয়। সুতরাং, আপনি চাইলে এটি ফাঁকা রাখতে পারেন।
স্ট্রিং1 প্রয়োজনীয় অনুসন্ধান করার জন্য স্ট্রিং, প্রাথমিক স্ট্রিং।
স্ট্রিং2 প্রয়োজনীয় প্রাথমিক স্ট্রিং-এ অনুসন্ধান করার জন্য স্ট্রিং .
তুলনা করুন ঐচ্ছিক InStr ফাংশনটি ডিফল্টরূপে কেস-সংবেদনশীল। কিন্তু যদি আপনি একটি কেস সংবেদনশীল InStr চালাতে চান, তাহলে আপনি একটি নির্দিষ্ট তুলনা করতে এখানে যুক্তিটি পাস করতে পারেন। এই যুক্তি নিম্নলিখিত হতে পারেমান,
  • vbBinary Compare -> একটি বাইনারি তুলনা সম্পাদন করে, রিটার্ন মান 0
  • vbTextCompare -> একটি টেক্সট তুলনা করে, রিটার্ন মান 1
  • vbDatabase Compare -> একটি ডাটাবেস তুলনা সম্পাদন করে, রিটার্ন মান 2

ডিফল্টরূপে, InStr তুলনা যুক্তি হিসাবে vbBinaryCompare নেয়।

8 VBA ব্যবহার করে প্রদত্ত স্ট্রিং-এ নির্দিষ্ট স্ট্রিং পজিশন খোঁজার সহজ উদাহরণ

আসুন কিছু সাধারণ উদাহরণ দেখা যাক 1 একটি স্ট্রিং-এ একটি পাঠ্যের অবস্থান।

  • আপনার কীবোর্ডে Alt + F11 টিপুন বা ট্যাবে যান ডেভেলপার -> ভিজ্যুয়াল বেসিক খুলতে ভিজ্যুয়াল বেসিক এডিটর

  • পপ-আপ কোড উইন্ডোতে, মেনু বার থেকে , ক্লিক করুন ঢোকান -> মডিউল

  • এখন কোড উইন্ডোতে, একটি VBA সাবের ভিতরে একটি সাধারণ InStr প্রোগ্রাম লিখুন পদ্ধতি (নীচে দেখুন)।
8076

আপনার কোড এখন চালানোর জন্য প্রস্তুত।

  • F5 টিপুন আপনার কীবোর্ডে বা মেনু বার থেকে চালান -> সাব/ইউজারফর্ম চালান। এছাড়াও আপনি ম্যাক্রো চালানোর জন্য সাব-মেনু বারে ছোট প্লে আইকনে ক্লিক করতে পারেন।

আপনি দেখতে পাবেন যে পপ-আপ মেসেজ বক্স আপনাকে একটি নম্বর দেবেআপনি যে পাঠ্যটি পরীক্ষা করতে চান তার অবস্থান ঘোষণা করা।

ব্যাখ্যা:

আমাদের প্রাথমিক স্ট্রিং, “ সুখ is a choice ” একটি 21 অক্ষরের বাক্য (স্পেস সহ) এবং আমরা সেই স্ট্রিংটিতে “ পছন্দ ” পাঠ্যের অবস্থান খুঁজে পেতে চেয়েছিলাম। টেক্সট " পছন্দ " প্রাথমিক স্ট্রিং এর 16 তম অবস্থান থেকে শুরু হয়েছে, তাই আমরা বার্তা বাক্সে আমাদের আউটপুট হিসাবে নম্বর পেয়েছি 16

2. VBA স্ট্রিং-এ একটি নির্দিষ্ট অবস্থান থেকে পাঠ্য খুঁজে বের করতে

এখন আসুন জেনে নেওয়া যাক যদি আমরা একটি নির্দিষ্ট সংখ্যা থেকে অবস্থান পেতে চাই তাহলে কী হবে।

  • একইভাবে আগে, ডেভেলপার ট্যাব থেকে ভিজ্যুয়াল বেসিক এডিটর খুলুন এবং কোড উইন্ডোতে ঢোকান একটি মডিউল
  • এ কোড উইন্ডোতে, উপরে দেখানো একটি সহজ InStr প্রোগ্রাম লিখুন এবং আপনি যে অবস্থান থেকে আপনার পাঠ্য গণনা করতে চান সেই অবস্থান অনুসারে স্টার্ট আর্গুমেন্টে মানটি পাস করুন।
3751

  • এরপর, কোডটি চালান

আপনি দেখতে পাবেন যে পপ-আপ মেসেজ বক্স আসবে পাঠ্যের একটি নির্দিষ্ট অবস্থান থেকে শুরু করে যেটি আপনি পরীক্ষা করতে চেয়েছিলেন তার পজিশন ঘোষণা করে একটি নম্বর দিন।

ব্যাখ্যা:

যেমন আমরা ইতিমধ্যেই জানতাম (পর্যায় 1 আলোচনা থেকে) যে পাঠ্য " পছন্দ " শুরু হয়েছিল 16 অবস্থান থেকে, তাই আমরা দুটি " সন্নিবেশিত করেছি প্রাথমিক স্ট্রিং-এ পছন্দ ” এবং আমাদের হিসাবে 17 সেট করুনপ্রথম " পছন্দ " এড়িয়ে যাওয়ার জন্য প্রথম প্যারামিটার। সুতরাং, আমরা চালান উপরের ম্যাক্রোটি এবং এটি আমাদের পজিশন নম্বর দেখিয়েছে 27 যা ঠিক সেকেন্ড " পছন্দ " এর অবস্থান নম্বর। প্রদত্ত স্ট্রিং-এ।

3. স্ট্রিং

InStr ফাংশনের ভূমিকা থেকে আপনি ইতিমধ্যেই জানেন যে ডিফল্টরূপে, InStr ফাংশনটি কেস-অসংবেদনশীল InStr ফাংশন সহ পাঠ্য খুঁজে পেতে VBA কেস সংবেদনশীল। আসুন একটি উদাহরণ দিয়ে এটি খুঁজে বের করি।

নিম্নলিখিত VBA কোডটি দেখুন, যেখানে আমরা “ চয়েস শব্দটির অবস্থান খুঁজে পেতে চেয়েছিলাম। ” একটি কপিটাল “C” স্ট্রিংয়ে “ হ্যাপিনেস ইজ এ চয়েস ” যেখানে পছন্দ লেখা হয় ছোট “c” দিয়ে .

  • চালান কোডটি এবং আমাদের আউটপুট হিসাবে 0 খুঁজুন।

এর কারণ হল InStr ফাংশন ক্যাপিটাল “C” এবং ছোট “c” কে আলাদাভাবে ব্যবহার করে। তাই এটি স্ট্রিংটিতে “ চয়েস ” শব্দটি অনুসন্ধান করেছে এবং কোনো মিল পায়নি, তাই 0 ফিরে এসেছে।

    <17 InStr ফাংশন কেস-অসংবেদনশীল করতে, তুলনা যুক্তি সেট করুন vbTextCompare (নীচে দেখুন)।
5965

  • কোডটি চালান৷

আপনি পাঠ্যটির অবস্থান পাবেন স্ট্রিং থেকে, পাঠ্যটি কপিটাল অক্ষর বা ছোট অক্ষরে লেখা হোক না কেন।

4. একটি স্ট্রিংয়ের ডান থেকে পাঠ্য খুঁজে পেতে VBA

এখন পর্যন্ত InStr ফাংশনটি স্ট্রিংয়ের বাম দিক থেকে আমাদের অবস্থান দিচ্ছিল। কিন্তু আপনি যদি স্ট্রিং এর ডান দিক থেকে পাঠ্য অবস্থান খুঁজে পেতে চান তাহলে কি হবে।

InStrRev ফাংশন ডান দিক থেকে অনুসন্ধান করে। InStrRev ফাংশনটি InStr ফাংশনের অনুরূপভাবে কাজ করে এবং এটি আপনাকে স্ট্রিংয়ের ডান দিক থেকে একটি পাঠ্যের অবস্থান খুঁজে পাবে।

পার্থক্য বোঝার জন্য নিচের উদাহরণগুলো দেখুন।

  • যদি আমরা InStr ফাংশন দিয়ে নিচের কোডটি রান করি তাহলে,

এটি আমাদের প্রথম পাঠ্য " পছন্দ " এর অবস্থান ( 16 ) দেয়৷

  • কিন্তু যদি আমরা InStrRev ফাংশনের সাথে একই কোড চালাই, তাহলে

এটি আমাদের অবস্থান দেয় ( 27 ) শেষ পাঠ্যের “ পছন্দ ”।

অনুরূপ পাঠ:

  • Excel এ VBA ব্যবহার করে পরবর্তী খুঁজুন (2 উদাহরণ)
  • ভিবিএ ব্যবহার করে কীভাবে সন্ধান করবেন এবং প্রতিস্থাপন করবেন (11 উপায়)
  • Excel এ VBA ব্যবহার করে সঠিক মিল খুঁজুন (5 উপায়)

5. স্ট্রিং-এ একটি অক্ষরের অবস্থান খুঁজে পেতে VBA

আপনি একটি স্ট্রিং-এ একটি নির্দিষ্ট অক্ষরের অবস্থান খুঁজে পেতে পারেন যেভাবে আপনি পাঠ্য খুঁজে পেয়েছেন।

  • কপি করুন আপনার VBA কোড উইন্ডোতে কোড অনুসরণ করুন
7414

  • এবং চালান ম্যাক্রো৷

আমাদের প্রদত্ত স্ট্রিং এর প্রথম " e " হলসংখ্যা 7 অবস্থান।

6। একটি স্ট্রিং-এ সাবস্ট্রিং খুঁজে পেতে VBA

এখানে আমরা শিখব কিভাবে একটি স্ট্রিং-এ সাবস্ট্রিং আছে কিনা তা খুঁজে বের করতে হবে।

এটি পেতে, আমাদের আছে আমাদের কোডে IF স্টেটমেন্ট চালাতে।

  • আগের মতই, ডেভেলপার ট্যাব থেকে ভিজ্যুয়াল বেসিক এডিটর খুলুন এবং কোড উইন্ডোতে ঢোকান একটি মডিউল
  • কোড উইন্ডোতে, নিম্নলিখিত কোডটি কপি করুন এবং পেস্ট করুন।
3404

আপনার কোড এখন চালানোর জন্য প্রস্তুত৷

  • চালান ম্যাক্রো৷

যদি আপনার স্ট্রিংটিতে সাবস্ট্রিং থাকে তাহলে আপনি একটি মিল পাওয়া গেছে পাবেন, অন্যথায়, এটি কোনো মিল খুঁজে পাওয়া যাবে না। আমাদের উদাহরণে, আমরা আমাদের প্রাথমিক স্ট্রিং " সুখ একটি পছন্দ " শব্দটি " পছন্দ " আছে কিনা তা খুঁজে বের করতে চেয়েছিলাম না. এটি যেমন করে, আমরা একটি মিল পাওয়া গেছে ফলাফল পাই৷

7৷ একটি সেল রেঞ্জে স্ট্রিং খুঁজে পেতে VBA

আপনি স্ট্রিং এর একটি সেল পরিসরে একটি নির্দিষ্ট পাঠ্য অনুসন্ধান করতে পারেন এবং একটি নির্দিষ্ট স্ট্রিং ফেরত দিতে পারেন৷

নিম্নলিখিত উদাহরণটি দেখুন যেখানে আমরা করব " ডা. " খুঁজুন এবং যখন একটি মিল হবে তখন এটি " ডাক্তার " ফিরে আসবে৷

  • উপরে আলোচনা করা ফলাফল পাওয়ার জন্য নিচে কোড দেওয়া হল,
8524

  • Run কোড এবং ফলাফল নীচে দেখানো হয়েছে

  • আপনি আপনার প্রয়োজন অনুযায়ী ম্যাক্রো পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, যদি আপনি চানস্ট্রিং-এর যেকোন ঘরে “ প্রফেসর ” খুঁজে পেতে এবং রিটার্ন হিসাবে “ অধ্যাপক ” পান, তারপর কেবল “<1” পাস করুন> প্রফেসর ” মান হিসাবে " ডাঃ ।" ম্যাক্রোর ৪র্থ লাইনে এবং ম্যাক্রোর ৫ম লাইনে " ডাক্তার " এর পরিবর্তে " প্রফেসর " এবং সংজ্ঞায়িত করুন সেই অনুযায়ী সেল রেঞ্জ নম্বর৷

8৷ একটি কক্ষে স্ট্রিং খুঁজতে VBA

এছাড়াও আপনি স্ট্রিং-এর একটি কক্ষে একটি নির্দিষ্ট পাঠ্য অনুসন্ধান করতে পারেন এবং একটি নির্দিষ্ট স্ট্রিং ফেরত দিতে পারেন।

  • নিম্নলিখিত কোডটি অনুলিপি করুন এবং কোড উইন্ডোতে পেস্ট করুন।
1295

এটি অনুসন্ধান করবে “ ড. সেল B5 -এ এবং যদি এটি মিল খুঁজে পায় তাহলে সেল C5 -এ “ ডাক্তার ” ফেরত দেয়।

  • আপনি আপনার প্রয়োজন অনুযায়ী ম্যাক্রো পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, আপনি যদি স্ট্রিংয়ের যেকোন ঘরে “ প্রফেসর ” খুঁজে পেতে চান এবং ফেরত হিসাবে “ প্রফেসর ” পেতে চান, তারপর " Dr " এর পরিবর্তে কেবলমাত্র " প্রফেসর " মান হিসাবে পাস করুন৷ ম্যাক্রোর ২য় লাইনে এবং ম্যাক্রোর ৩য় লাইনে " ডাক্তার " এর পরিবর্তে " প্রফেসর " এবং সংজ্ঞায়িত করুন সেই অনুযায়ী সেল রেফারেন্স নম্বর।

উপসংহার

এই নিবন্ধটি আপনাকে দেখিয়েছে কিভাবে VBA ম্যাক্রো ব্যবহার করে এক্সেলের স্ট্রিং-এ কিছু নির্দিষ্ট টেক্সট খুঁজে বের করতে হয়। আমি আশা করি এই নিবন্ধটি আপনার জন্য খুবই উপকারী হয়েছে। সম্পর্কে কোন প্রশ্ন জিজ্ঞাসা করতে দ্বিধা বোধ করুনবিষয়।

Hugh West একজন অত্যন্ত অভিজ্ঞ এক্সেল প্রশিক্ষক এবং শিল্পে 10 বছরেরও বেশি অভিজ্ঞতা সহ বিশ্লেষক। তিনি অ্যাকাউন্টিং এবং ফিন্যান্সে স্নাতক ডিগ্রি এবং ব্যবসায় প্রশাসনে স্নাতকোত্তর ডিগ্রি অর্জন করেছেন। Hugh শিক্ষাদানের জন্য একটি আবেগ আছে এবং একটি অনন্য শিক্ষণ পদ্ধতি তৈরি করেছে যা অনুসরণ করা এবং বোঝা সহজ। এক্সেল সম্পর্কে তার বিশেষজ্ঞ জ্ঞান বিশ্বব্যাপী হাজার হাজার ছাত্র এবং পেশাদারদের তাদের দক্ষতা উন্নত করতে এবং তাদের কর্মজীবনে শ্রেষ্ঠত্ব অর্জন করতে সাহায্য করেছে। তার ব্লগের মাধ্যমে, Hugh তার জ্ঞান বিশ্বের সাথে ভাগ করে নেয়, বিনামূল্যে এক্সেল টিউটোরিয়াল এবং অনলাইন প্রশিক্ষণ প্রদান করে ব্যক্তি এবং ব্যবসায়িকদের তাদের পূর্ণ সম্ভাবনায় পৌঁছাতে সহায়তা করার জন্য।