VBA ত InStr ফাংচন কেনেকৈ ব্যৱহাৰ কৰিব (৩টা সহজ উদাহৰণ)

  • এইটো শ্বেয়াৰ কৰক
Hugh West

এক্সেল ভিবিএ ক'ডৰ সৈতে কাম কৰাৰ সময়ত আমি কেইটামান বিল্ট-ইন ফাংচনৰ সন্মুখীন হওঁ যিয়ে এটা জটিল কামক এটা সৰু এক শাৰীৰ ক'ডলৈ ৰূপান্তৰিত কৰে। InStr হৈছে Excel VBA ত উপলব্ধ এনে এটা ফাংচন যিয়ে এটা নিৰ্দিষ্ট স্থানৰ পৰা আৰম্ভ কৰি অন্য এটা প্ৰদত্ত ষ্ট্ৰিঙৰ ভিতৰত এটা বিশেষ ষ্ট্ৰিং সন্ধান কৰে। আজি মই দেখুৱাম যে আপুনি কেনেকৈ VBA ত InStr ফাংচন ব্যৱহাৰ কৰি আন এটা প্ৰদত্ত ষ্ট্ৰিঙৰ ভিতৰত এটা নিৰ্দিষ্ট ষ্ট্ৰিং বিচাৰিব পাৰে।

অভ্যাস কাৰ্য্যপুস্তিকা ডাউনলোড কৰক

InStr ফাংচন.xlsm

VBA InStr ফাংচন

  • ৰ পৰিচয় সাৰাংশ

এটা নিৰ্দিষ্ট ষ্ট্ৰিংৰ ভিতৰত এটা নিৰ্দিষ্ট ষ্ট্ৰিং সন্ধান কৰে, এটা নিৰ্দিষ্ট স্থানৰ পৰা আৰম্ভ কৰি। যদি এটা মিল বিচাৰি পায়, প্ৰদত্ত স্ট্ৰিঙৰ অৱস্থান ঘূৰাই দিয়ে য'ৰ পৰা মিল আৰম্ভ হৈছিল।

  • বাক্যবিন্যাস

InStr([start ],ষ্ট্ৰিং১,ষ্ট্ৰিং২,[তুলনা কৰক])

  • যুক্তিসমূহ
যুক্তি প্ৰয়োজনীয়তা বৰ্ণনা

[আৰম্ভ] ঐচ্ছিক যি স্থানৰ পৰা ই সন্ধান আৰম্ভ কৰিব। অবিকল্পিত হৈছে 1.
string1 প্ৰয়োজনীয় যি ষ্ট্ৰিংৰ ভিতৰত ই এটা প্ৰদত্ত ষ্ট্ৰিং সন্ধান কৰে।
string2 প্ৰয়োজনীয় এটা প্ৰদত্ত ষ্ট্ৰিঙৰ ভিতৰত ই সন্ধান কৰা ষ্ট্ৰিং।
[compare] বৈকল্পিক {-1,0,1,2} ৰ মাজৰ এটা সংখ্যাগত মান যি তুলনাৰ ধৰণ ধাৰ্য্য কৰে। দ্য...অবিকল্পিত হৈছে -1 (vbUseCompareOption)। যদি বিকল্প তুলনা বিবৃতি ধাৰ্য্য কৰা হোৱা নাই, বাইনাৰী তুলনা কৰক।

টোকা:

  • যদিও [start] যুক্তি আৰু [compare] যুক্তি বৈকল্পিক, আপুনি [start] যুক্তিৰ প্ৰয়োজন যদি আপুনি [compare] যুক্তি ধাৰ্য্য কৰে। অন্যথা, ই এটা ভুল উত্থাপন কৰিব।
  • যদি [start] যুক্তিৰ এটা বা দুয়োটা আৰু [compare] যুক্তি Null<2 হয়>, আপুনি এটা ভুলৰ সন্মুখীন হ'ব।
  • [compare] যুক্তিত চাৰিটা ধাৰ্য্য কৰা মানে চাৰিটা ভিন্ন ধৰণৰ তুলনা কৰে। তলত সেইবোৰ উল্লেখ কৰা হৈছে:
মূল্য ধাৰাবাহিক বিৱৰণ

-1 vbUseCompareOption ত ধাৰ্য্য কৰা তুলনা সম্পন্ন কৰে বিকল্প তুলনা বিবৃতি।
0 vbBinaryCompare এটা বাইনাৰী তুলনা কৰে।
1 vbTextCompare এটা লিখনী তুলনা কৰে।
2 vbDatabaseCompare আপোনাৰ ডাটাবেছৰ ওপৰত ভিত্তি কৰি এটা তুলনা কৰে .
  • বিকল্প তুলনা বিবৃতি হৈছে মূল VBA ক'ড আৰম্ভ হোৱাৰ আগতে প্ৰদান কৰা এটা বিবৃতি। ই ধাৰ্য্য কৰে যে ক'ডে প্ৰয়োজনৰ সময়ত এটা বাইনাৰী তুলনা বা লিখনী তুলনা সন্ধান কৰিব নেকি।

বিকল্প লিখনী তুলনা কৰক

    • সৰল ভাষাত ক’বলৈ গ’লে বাইনাৰী তুলনা ৰ অৰ্থ হ’ল কেছ-চেন্সিটিভতুলনা।
    • সৰল ভাষাত , লিখনী তুলনা ৰ অৰ্থ হ'ল ডাঙৰ-বৰ-অসংবেদনশীল তুলনা।
  • ৰিটাৰ্ণ মূল্য
    • string1 ত থকা অৱস্থান ঘূৰাই দিয়ে য'ৰ পৰা string2 আৰম্ভ হৈছিল।
    • যদি string2 পোৱা নাযায় string1 ৰ ভিতৰত start অৱস্থানৰ পৰা আৰম্ভ কৰি, 0 ঘূৰাই দিয়ে।
    • যদি string1 শূন্য-দৈৰ্ঘ্যৰ হয়, 0.
    • ঘূৰাই দিয়ে
    • যদি string2 শূন্য-দৈৰ্ঘ্যৰ হয়, start যুক্তিটো ঘূৰাই দিয়ে।
    • আৰু শেষত, যদি string1 বা string2 হৈছে Null , এটা ভুল ঘূৰাই দিয়ে।

3 VBA InStr ফাংচন ব্যৱহাৰ কৰিবলৈ সহজ উদাহৰণ

In এই অংশত আমি এক্সেলত VBA InStr ফাংচন প্ৰয়োগ কৰাৰ তিনিটা সহজ উদাহৰণ চাম। VBA ক’ডসমূহত InStr ফাংচনৰ প্ৰথম উদাহৰণ চাওঁ আহক।

1. এটা ঠিকনা এটা ইমেইল ঠিকনা নে নহয় সিদ্ধান্ত লোৱা VBA InStr ফাংচন ব্যৱহাৰ কৰি

ইয়াত, আমি গ্ৰাহকৰ কিছুমান যোগাযোগ ঠিকনা থকা এটা ডাটা ছেট লৈছো। ইয়াত আমাৰ লক্ষ্য হ'ব ঠিকনাসমূহ ইমেইল ঠিকনা নে নহয় চিনাক্ত কৰা।

এতিয়া আমি চিনাক্ত কৰিবলৈ InStr ফাংচন ব্যৱহাৰ কৰি এটা VBA ক'ড বিকশিত কৰিম ই ইমেইল ঠিকনা হওক বা নহওক। তেনে কৰিবলৈ, তলৰ পদক্ষেপসমূহ অনুসৰণ কৰক।

পদক্ষেপসমূহ:

  • আৰম্ভণিতে, ডেভেলপাৰ টেবলৈ যাওক আৰু <নিৰ্ব্বাচন কৰক 1>ভিজুৱেল বেচিক ( বা VBA খোলিবলৈ Alt+F11) টিপকউইণ্ড'।

  • তাৰ পিছত, VBA উইণ্ড'ত, Insert > মডিউল .

  • তাৰ পিছত, মডিউলত, নিম্নলিখিত ক'ড পেষ্ট কৰক:
5146

  • তদুপৰি আমি DECISION নামৰ এটা ফাংচন তৈয়াৰ কৰিছো। ই এটা ঠিকনা ইমেইল ঠিকনা নে নহয় সেইটো নিৰ্ণয় কৰে। আমাৰ হাতত থকা ডাটা ছেটটোত ফাংচনটো প্ৰয়োগ কৰোঁ আহক।
  • চেল C5 ত, তলৰ সূত্ৰটো লিখি থওক আৰু তাৰ পিছত ফিল হেণ্ডল ব্যৱহাৰ কৰি বাকী চেলবোৰ অটোফিল কৰক।
=DECISION(B5)

  • আমি দেখাৰ দৰে আমি প্ৰতিটো ঠিকনা চিনাক্ত কৰিছো যে ই ইমেইল ঠিকনা নেকি বা নহয়।

🎓 সংহিতাই কেনেকৈ কাম কৰে?

  • ফাংচন DECISION(string1 As String)

প্ৰথমে, ই a ৰ সৈতে DECISION নামৰ এটা ফাংচন সৃষ্টি কৰে string1 নামৰ এটা পূৰ্ণসংখ্যা চলক।

  • Dim Position As Integer

Position<নামৰ এটা পূৰ্ণসংখ্যা চলক ঘোষণা কৰে 2>.

  • Position = InStr(1, string1, “@”, 0)

ৰ মান নিযুক্ত কৰে 1, string1, “@” আৰু 0 যুক্তিসমূহৰ সৈতে InStr ফাংচনৰ আউটপুট হিচাপে চলকক অৱস্থান কৰক। মুঠতে, ই ঠিকনাত সেই স্থান নিযুক্ত কৰে য'ত “@” আছে।

  • যদি অৱস্থান = 0 তেন্তে DECISION = “ইমেইল নহয়”

DECISION ফাংচনৰ আউটপুটক “ইমেইল নহয়” হিচাপে নিযুক্ত কৰে, যদি অৱস্থান ভেৰিয়েবল হৈছে 0 , অৰ্থাৎ, ঠিকনাত “@” নাছিল।

(যদি প্ৰদত্ত ষ্ট্ৰিংৰ ভিতৰত কোনো ষ্ট্ৰিং পোৱা নাযায়, তেন্তে মনত পেলাওক, InStr ফাংচনে 0 ঘূৰাই দিয়ে)।

  • অন্য DECISION = “ইমেইল”

এইটোৱে... DECISION ফাংচনৰ আউটপুট “ইমেইল” হিচাপে যদি ঠিকনাত এটা “@” আছিল। এইদৰে য'ত আছে “@” ঠিকনাসমূহক ইমেইল হিচাপে শ্ৰেণীভুক্ত কৰা হয়, আৰু বাকীবোৰক “ইমেইল নহয়” হিচাপে শ্ৰেণীভুক্ত কৰা হয়।

একেধৰণৰ পঢ়া

  • এক্সেলত VBA UCASE ফাংচন কেনেকৈ ব্যৱহাৰ কৰিব লাগে (৪টা উদাহৰণ)
  • এক্সেল VBA ত MsgBox ফাংচন ব্যৱহাৰ কৰক (এটা সম্পূৰ্ণ নিৰ্দেশনা)
  • এক্সেলত VBA SPLIT ফাংচন কেনেকৈ ব্যৱহাৰ কৰিব (৫টা উদাহৰণ)
  • এক্সেলত VBA ত LCase ফাংচন ব্যৱহাৰ কৰক (With 4 উদাহৰণ)
  • এক্সেল VBA ত Fix ফাংচন কেনেকৈ ব্যৱহাৰ কৰিব (4 টা উদাহৰণ)

2. কিছুমান ইমেইল ঠিকনাৰ সম্প্ৰসাৰণ উলিওৱা

ৰ বাবে VBA InStr ফাংচন ব্যৱহাৰ কৰা

ইয়াত, আমাৰ হাতত কিছুমান গ্ৰাহকৰ কিছুমান ইমেইল ঠিকনাৰ তালিকা আছে। এইবাৰ আমি ইমেইল ঠিকনাৰ এক্সটেনচনটো এক্সট্ৰেক্ট কৰিম যেনে তেওঁলোকৰ gmail.com বা yahoo.com আছে নে নাই।

তেনে কৰিবলৈ, তলৰ পদক্ষেপসমূহ অনুসৰণ কৰক।

পদক্ষেপসমূহ:

  • আৰম্ভণি কৰিবলৈ, পূৰ্বৰ পদ্ধতিৰ দৰে, এটা নতুন VBA<2 খোলক> module আৰু উইণ্ড'ত তলৰ ক'ডটো পেষ্ট কৰক।
6425

  • ইয়াৰ উপৰিও আমি এটা ফাংচন তৈয়াৰ কৰিছো যাৰ নাম<১>এক্সটেনচন । ই যিকোনো ইমেইল ঠিকনাৰ সম্প্ৰসাৰণ এক্সট্ৰেক্ট কৰে।
  • তদুপৰি, আমাৰ হাতত থকা ডাটা ছেটত এই ফাংচনটো প্ৰয়োগ কৰোঁ আহক। প্ৰথমে, এই সূত্ৰটো C5 কোষত দিয়ক আৰু তাৰ পিছত ফিল হেণ্ডেল ত দুবাৰ-ক্লিক কৰক।
=EXTENSION(B5)

  • শেষত আমি দেখিব পাৰো যে আমি সকলো ইমেইলৰ এক্সটেনচন সফলতাৰে উলিয়াই আনিছো।

<১> 🎓 সংহিতাই কেনেকৈ কাম কৰে?

  • Function EXTENSION(Email As String)

EXTENSION নামৰ এটা নতুন ফাংচন সৃষ্টি কৰে, a ইমেইল নামৰ ষ্ট্ৰিং যুক্তি।

  • ডিম অৱস্থান পূৰ্ণসংখ্যা হিচাপে

এই অংশই অৱস্থান নামৰ এটা পূৰ্ণসংখ্যা চলক ঘোষণা কৰে .

  • অৱস্থান = InStr(1, ইমেইল, “@”, 0)

ই <1 ৰ মান নিযুক্ত কৰে> InStr ফাংচনৰ আউটপুট হিচাপে 1, ইমেইল, “@” আৰু 0 যুক্তিৰ সৈতে চলকক অৱস্থান কৰক। মুঠতে, ই ইমেইল ত সেই স্থান নিযুক্ত কৰে য'ত এটা “@” আছে।

  • EXTENSION = Right(Email, (Len (ইমেইল) – অৱস্থান))

এই অংশই EXTENSION ফাংচনৰ আউটপুটক “@” চিহ্নৰ পিছৰ আখৰ হিচাপে নিযুক্ত কৰে। এইটো ইমেইল ৰ প্ৰয়োজনীয় সম্প্ৰসাৰণ।

৩. এটা নামৰ পৰা প্ৰথম বা শেষ নাম উলিওৱা VBA InStr ফাংচন ব্যৱহাৰ কৰি

শেষত, আমি এটা অনন্যভাৱে বেলেগ কাম সম্পন্ন কৰিম। এইবাৰ আমাৰ হাতত আছে ৰ কেইজনমান কৰ্মচাৰীৰ নামএটা কোম্পানী। আৰু আমি কৰ্মচাৰীসকলৰ প্ৰথম নাম বা শেষ নামটো উলিয়াবলৈ এটা ফাংচন নিৰ্মাণ কৰিবলৈ চেষ্টা কৰিম।

সেইটো কৰিবলৈ তলৰ পদক্ষেপসমূহ অনুসৰণ কৰক।

পদক্ষেপসমূহ:

  • প্ৰথমে, পদ্ধতি 1 ৰ সৈতে একে, তলৰ ক'ডটো VBA উইণ্ড'ত এটা নতুন মডিউলত পেষ্ট কৰক।
7886

  • ইয়াত, আমি SHORTNAME নামৰ এটা ফাংচন তৈয়াৰ কৰিছো যিয়ে এটা নামৰ পৰা প্ৰথম নাম বা শেষ নামটো এক্সট্ৰেক্ট কৰে। এই সূত্ৰটো আমাৰ ডাটা ছেটত প্ৰয়োগ কৰোঁ আহক।
  • প্ৰথমে প্ৰথম নামটো উলিয়াবলৈ তলৰ সূত্ৰটো C5 কোষত লিখি থওক।
=SHORTNAME(B5,-1)

  • শেষত শেষ নামবোৰ উলিয়াবলৈ আমি D5 ত তলৰ সূত্ৰটো লিখিম:
=SHORTNAME(B5,1)

  • তাৰ পিছত, যদি আমি বাকী কোষবোৰ Fill Handler<2 ৰে স্বয়ংক্ৰিয়ভাৱে ভৰাই দিওঁ>, আমি আমাৰ আকাংক্ষিত ফলাফল দেখিম।

🎓 সংহিতাই কেনেকৈ কাম কৰে?

  • ফলন SHORTNAME(নাম ষ্ট্ৰিং হিচাপে, প্ৰথম_বা_শেষ পূৰ্ণসংখ্যা হিচাপে)

SHORTNAME<2 নামৰ এটা নতুন ফাংচন সৃষ্টি কৰে> Name নামৰ এটা String যুক্তি আৰু First_or_Last নামৰ এটা Integer যুক্তিৰ সৈতে।

  • Dim Break As Integer

এই অংশই Break নামৰ এটা নতুন পূৰ্ণসংখ্যা চলক ঘোষণা কৰে।

  • Break = InStr(1, Name, ” “, 0)

Break চলকৰ মানক যুক্তিসমূহৰ সৈতে InStr ফাংচনৰ আউটপুট হিচাপে নিযুক্ত কৰে 1, নাম, “ ” আৰু 0 । মুঠতে, ই নাম ত থকা অৱস্থানটো নিযুক্ত কৰে য'ত এটা স্থান (“ ”)।

  • যদি প্ৰথম_বা_শেষ = -1 তেন্তে SHORTNAME = Left(Name, Break – 1)

এই শাৰীয়ে SHORTNAME ফাংচনৰ আউটপুটক space , ৰ আগৰ আখৰ হিচাপে নিযুক্ত কৰে। যদি First_or_Last যুক্তি -1 হয়। এইটোৱেই প্ৰথম নাম।

  • SHORTNAME = Right(Name, Len(Name) – Break)

এই অংশই ৰ আউটপুট নিযুক্ত কৰে SHORTNAME ফাংচন space ৰ পিছৰ আখৰ হিচাপে, যদি First_or_Last যুক্তি 1 হয়। এইটো শেষ নাম।

উপসংহাৰ

এই ধৰণে, আপুনি InStr ফাংচনৰ সৈতে VBA ক'ডসমূহ লিখিব পাৰে যি আন এটা প্ৰদত্তৰ ভিতৰত এটা নিৰ্দিষ্ট ষ্ট্ৰিঙৰ অৱস্থান বিচাৰি পায় string, আৰু তাৰ পিছত আপুনি বিভিন্ন ব্যৱহাৰৰ বাবে আপোনাৰ নিজৰ ফাংচন সৃষ্টি কৰিব পাৰিব। তদুপৰি যদি আপোনাৰ কিবা প্ৰশ্ন আছে তেন্তে আমাক নিঃসংকোচে সুধিব পাৰে।

হিউ ৱেষ্ট এজন অতি অভিজ্ঞ এক্সেল প্ৰশিক্ষক আৰু বিশ্লেষক আৰু তেওঁৰ উদ্যোগটোত ১০ বছৰতকৈও অধিক অভিজ্ঞতা আছে। তেওঁ একাউণ্টিং আৰু বিত্ত বিষয়ত স্নাতক ডিগ্ৰী আৰু ব্যৱসায় প্ৰশাসনত স্নাতকোত্তৰ ডিগ্ৰী লাভ কৰিছে। হিউৰ পাঠদানৰ প্ৰতি আকৰ্ষণ আছে আৰু তেওঁ এক অনন্য শিক্ষকতা পদ্ধতি গঢ়ি তুলিছে যিটো অনুসৰণ আৰু বুজিবলৈ সহজ। এক্সেলৰ বিষয়ে তেওঁৰ বিশেষজ্ঞ জ্ঞানে বিশ্বজুৰি হাজাৰ হাজাৰ ছাত্ৰ-ছাত্ৰী আৰু পেছাদাৰীক তেওঁলোকৰ দক্ষতা বৃদ্ধি আৰু কেৰিয়াৰত উৎকৃষ্টতা প্ৰদৰ্শন কৰাত সহায় কৰিছে। তেওঁৰ ব্লগৰ জৰিয়তে হিউৱে নিজৰ জ্ঞান বিশ্বৰ সৈতে ভাগ-বতৰা কৰে, ব্যক্তি আৰু ব্যৱসায়ীসকলক তেওঁলোকৰ সম্পূৰ্ণ সম্ভাৱনাক লাভ কৰাত সহায় কৰিবলৈ বিনামূলীয়া এক্সেল টিউটোৰিয়েল আৰু অনলাইন প্ৰশিক্ষণ আগবঢ়ায়।