VBA ۾ InStr فنڪشن ڪيئن استعمال ڪجي (3 آسان مثال)

  • هن کي شيئر ڪريو
Hugh West

Excel VBA ڪوڊ سان ڪم ڪرڻ دوران، اسان وٽ ڪجھ بلٽ ان فنڪشنز نظر اچن ٿا جيڪي ھڪڙي پيچيده ڪم کي ھڪڙي ننڍڙي ھڪڙي لائن ڪوڊ ۾ تبديل ڪن ٿا. InStr هڪ اهڙو فنڪشن آهي جيڪو Excel VBA ۾ موجود آهي جيڪو ڪنهن خاص اسٽرنگ جي ڳولا ڪري ٿو ٻئي ڏنل اسٽرنگ جي اندر هڪ ڏنل پوزيشن کان شروع ٿي. اڄ مان ڏيکاريندس ته توهان ڪيئن استعمال ڪري سگهو ٿا InStr فنڪشن VBA ۾ ڪنهن مخصوص اسٽرنگ کي ڳولڻ لاءِ ٻي ڏنل اسٽرنگ ۾.

ڊائون لوڊ ڪريو مشق ورڪ بڪ

InStr Function.xlsm

تعارف VBA InStr فنڪشن

  • تتتت
  • 11>

    ڏسيل اسٽرنگ اندر هڪ مخصوص اسٽرنگ لاءِ ڳولهي ٿو، ڏنل پوزيشن کان شروع ٿي. جيڪڏهن هڪ ميچ ڳولهي، ڏنل اسٽرنگ ۾ پوزيشن کي واپس آڻيو جتان ميچ شروع ٿيو.

    • Syntax

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

    • دلائل
    دليل گهربل 16> تفصيل

    [شروع] اختياري جنهن کان اهو ڳولڻ شروع ڪندو. ڊفالٽ 1 آهي.
    string1 گهربل اسٽرنگ جنهن ۾ اهو ڏنل اسٽرنگ کي ڳولي ٿو.
    string2 گهربل اها اسٽرنگ جنهن کي اهو ڏنل اسٽرنگ ۾ ڳولي ٿو.
    [compare] اختياري هڪ عددي قدر جي وچ ۾ {-1,0,1,2} جيڪو بيان ڪري ٿو مقابلي جو قسم. جيڊفالٽ آهي -1 (vbUseCompareOption). جيڪڏهن اختيار جي مقابلي جو بيان بيان نه ڪيو ويو آهي، بائنري مقابلي کي انجام ڏيو.

    نوٽ:

    • جيتوڻيڪ [start] argument ۽ [compare] دليل اختياري آھن، توھان کي ضرورت آھي [start] argument جيڪڏھن توھان وضاحت ڪريو [compare] argument. ٻي صورت ۾، اهو هڪ غلطي وڌائيندو.
    • جيڪڏهن هڪ يا ٻئي ٻنهي مان [شروع] دليل ۽ [compare] دليل آهي Null ، توھان کي ھڪڙي نقص کي منهن ڏيڻو پوندو.
    • چار بيان ڪيل قدرن ۾ [compare] دليل چار مختلف قسمن جي مقابلي کي انجام ڏين ٿا. انهن جو ذڪر هيٺ ڪيو ويو آهي:
    14>
    VALUE CONSTANT DESCRIPTION

    -1 vbUseCompareOption ان ۾ بيان ڪيل مقابلي کي انجام ڏئي ٿو آپشن موازنہ بيان.
    0 vbBinaryCompare پرفارم ڪري ٿو بائنري موازنہ.
    1 vbTextCompare ٽيڪسٽ جي مقابلي کي انجام ڏئي ٿو.
    2 vbDatabaseCompare توهان جي ڊيٽابيس جي بنياد تي هڪ مقابلو انجام ڏيو .
    • اختيار موازنہ بيان هڪ بيان آهي جيڪو مکيه VBA ڪوڊ شروع ٿيڻ کان اڳ مهيا ڪيو ويو آهي. اهو بيان ڪري ٿو ته ڇا ڪوڊ بائنري موازنہ يا متن جي مقابلي جي ڳولا ڪندو جڏهن گهربل هجي.

    اختيار موازنہ متن

      • سادي اصطلاحن ۾ ، Binary Comparison مطلب آهي ڪيس-حساسcomparison.
      • سادو اصطلاحن ۾ ، Text Comparison مطلب آهي ڪيس-غير حساس موازن.
    • واپسي قدر
      • string1 ۾ پوزيشن واپس ڪري ٿو جتان string2 شروع ٿيو.
      • جيڪڏهن string2 نه ملي. string1 جي اندر شروع پوزيشن کان شروع ٿئي ٿو، واپسي 0.
      • جيڪڏهن string1 صفر-لمبائي جو آهي، واپسي 0.
      • جيڪڏهن string2 صفر-لمبائي جو آهي، ته دليل واپس ڪري ٿو start .
      • ۽ آخر ۾، جيڪڏهن ڪو string1 يا string2 is Null ، هڪ غلطي موٽائي ٿو.

    3 آسان مثال استعمال ڪرڻ لاءِ VBA InStr فنڪشن

    ۾ هن حصي ۾، اسان ڏسون ٿا ٽي آسان مثالن کي لاڳو ڪرڻ جا VBA InStr فنڪشن ايڪسل ۾. اچو ته ڏسو پهريون مثال InStr فنڪشن جو VBA ڪوڊس ۾.

    1. فيصلو ڪرڻ ته ڇا پتو هڪ اي ميل ايڊريس آهي يا نه VBA InStr فنڪشن کي استعمال ڪندي

    هتي، اسان هڪ ڊيٽا سيٽ ورتو آهي جنهن ۾ ڪجهه گراهڪن جي رابطي جي پتي شامل آهن. هتي اسان جو مقصد اهو هوندو ته پتو پوي ٿو ته اهي اي ميل ايڊريس آهن يا نه.

    هاڻي اسان سڃاڻپ ڪرڻ لاءِ InStr فنڪشن استعمال ڪندي هڪ VBA ڪوڊ ٺاهينداسين ڇا اهو هڪ اي ميل پتو آهي يا نه. ائين ڪرڻ لاءِ، ھيٺ ڏنل قدمن تي عمل ڪريو.

    قدم:

    • شروع ۾، وڃو ڊولپر ٽئب ۽ چونڊيو Visual Basic (يا دٻايو Alt+F11) کولڻ لاءِ VBA window.

    • پوءِ، VBA ونڊو تي، وڃو Insert > ماڊل .

    • ان کان پوء، ماڊل تي، هيٺ ڏنل ڪوڊ پيسٽ ڪريو:
    8687

    • ان کان علاوه، اسان هڪ فنڪشن ٺاهيو آهي جنهن کي فيصلو سڏيو ويندو آهي. اهو فيصلو ڪري ٿو ته هڪ پتو هڪ اي ميل پتو آهي يا نه. اچو ته اسان وٽ موجود ڊيٽا سيٽ تي فنڪشن لاڳو ڪريون.
    • سيل C5 تي، هيٺ ڏنل فارمولا لکو ۽ پوءِ Fill Handle استعمال ڪري باقي سيلز کي آٽو فل ڪريو.
    =DECISION(B5)

    • جيئن اسان ڏسي سگهون ٿا، اسان هر هڪ پتي جي سڃاڻپ ڪئي آهي ته ڇا اهو هڪ اي ميل پتو آهي يا نه.

    🎓 ڪوڊ ڪيئن ڪم ڪندو آهي؟

    • Function DECISION(string1 As String)

    پهريون، هي هڪ فنڪشن ٺاهي ٿو جنهن کي DECISION سڏيو ويندو آهي اسٽرنگ آرگيومينٽ جو نالو string1 .

    • Dim Position As Integer

    اهو Position<نالي هڪ انٽيجر ويريبل جو اعلان ڪري ٿو. 2>.

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

    هي جي قيمت کي تفويض ڪري ٿو پوزيشن variable جي آئوٽ پٽ جي طور تي InStr فنڪشن سان دليلن سان 1، string1، "@" ۽ 0 . مختصر ۾، هي پتي ۾ پوزيشن کي تفويض ڪري ٿو جتي هڪ آهي “@” .

    • جيڪڏهن پوزيشن = 0 پوء فيصلو = "اي ميل نه"

    اهو فيصلو فنڪشن جو آئوٽ پُٽ تفويض ڪري ٿو جيئن “اي ميل ناهي” ، جيڪڏهن پوزيشن variable آهي 0 ، مطلب ته پتو ۾ ڪو به “@” نه هو.

    (ياد ڪريو جيڪڏهن ڏنل اسٽرنگ ۾ ڪا به اسٽرنگ نه ملي، ته InStr فنڪشن واپس اچي ٿو 0 ).

    • Else DECISION = "Email"

    هي تفويض ڪري ٿو DECISION فنڪشن جو ٻاھر ڪڍو جيئن “اي ميل” جيڪڏھن پتي ۾ ڪو “@” ھو. اهڙيءَ طرح اهي پتا جتي آهن “@” انهن جي درجه بندي ڪئي وئي آهي اي ميل ، ۽ باقي انهن جي درجه بندي ڪئي وئي آهي “اي ميل ناهي“ .

    ملندڙ پڙھڻ

    • Excel ۾ VBA UCASE فنڪشن ڪيئن استعمال ڪجي (4 مثال)
    • Excel VBA ۾ MsgBox فنڪشن استعمال ڪريو (هڪ مڪمل گائيڊ لائين)
    • ايڪسل ۾ VBA SPLIT فنڪشن ڪيئن استعمال ڪجي (5 مثال)
    • استعمال ڪريو LCase فنڪشن VBA ۾ Excel ۾ (سان 4 مثال)
    • ايڪسل VBA ۾ فڪس فنڪشن ڪيئن استعمال ڪجي (4 مثال)

    2. استعمال ڪرڻ VBA InStr فنڪشن لاءِ ڪجهه اي ميل ايڊريسز جي ايڪسٽينشن کي ڪڍڻ

    هتي، اسان وٽ ڪجهه گراهڪن جي ڪجهه اي ميل پتي جي فهرست آهي. هن ڀيري اسان اي ميل ايڊريس جي ايڪسٽينشن ڪڍنداسين جيئن ته انهن وٽ آهي gmail.com يا yahoo.com .

    ائين ڪرڻ لاءِ، ھيٺ ڏنل قدمن تي عمل ڪريو.

    Steps:

    • شروع ڪرڻ لاءِ، اڳئين طريقي وانگر، نئون کوليو VBA ماڊيول ڪريو ۽ ھيٺ ڏنل ڪوڊ کي ونڊو ۾ پيسٽ ڪريو.
    5652

    • ان کان علاوه، اسان ھڪڙو فنڪشن ٺاھيو آھي جنھن کي سڏيو ويندو آھي. ايڪسٽينشن . اهو ڪنهن به اي ميل ايڊريس جي ايڪسٽينشن کي ڪڍي ٿو.
    • وڌيڪ، اچو ته هن فنڪشن کي اسان وٽ موجود ڊيٽا سيٽ تي لاڳو ڪريون. پهريون، هي فارمولا سيل C5 تي داخل ڪريو ۽ پوءِ Fill Handle تي ڊبل ڪلڪ ڪريو.
    =EXTENSION(B5)

    • آخر ۾، اسان ڏسي سگهون ٿا ته اسان ڪاميابيءَ سان سڀني اي ميلن جي ايڪسٽينشن کي ڪڍي ڇڏيو آهي.

    🎓 ڪوڊ ڪيئن ڪم ڪندو آهي؟

    • فنڪشن EXTENSION(Email As String)

    هي هڪ نئون فنڪشن ٺاهي ٿو جنهن کي EXTENSION سڏيو ويندو آهي، اسٽرنگ آرگيومينٽ جو نالو Email .

    • Dim Position as Integer

    هي حصو Position نالي هڪ انٽيجر متغير جو اعلان ڪري ٿو .

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

    هي <1 جي قيمت تفويض ڪري ٿو>Position variable جي آئوٽ پٽ جي طور تي InStr فنڪشن سان دليلن سان 1، اي ميل، “@” ۽ 0 . مختصر ۾، هي اي ميل ۾ پوزيشن تفويض ڪري ٿو جتي هڪ آهي “@” .

    • EXTENSION = Right(Email, (Len (اي ميل) – پوزيشن))

    هي حصو EXTENSION فنڪشن جو آئوٽ پُٽ تفويض ڪري ٿو جيئن علامت “@” کان پوءِ. هي اي ميل جي گهربل واڌارو آهي. <3

    3. نالي مان پهريون يا آخري نالو ڪڍڻ VBA InStr فنڪشن کي استعمال ڪندي

    آخر ۾، اسان هڪ منفرد ڪم انجام ڏينداسين. هن ڀيري اسان وٽ ڪجهه ملازمن جا نالا آهنهڪ ڪمپني. ۽ اسان هڪ فنڪشن ٺاهڻ جي ڪوشش ڪنداسين يا ته ملازمن جو پهريون نالو يا آخري نالو ڪڍڻ لاءِ.

    ان لاءِ هيٺ ڏنل قدمن تي عمل ڪريو.

    قدم:

    • پهريون، ساڳي طرح طريقو 1 ، هيٺ ڏنل ڪوڊ پيسٽ ڪريو نئين ماڊل ۾ VBA ونڊو ۾.
    6242

    • هتي، اسان SHORTNAME نالي هڪ فنڪشن ٺاهيو آهي جيڪو ڪنهن نالي مان پهريون نالو يا آخري نالو ڪڍي ٿو. اچو ته هن فارمولا کي پنهنجي ڊيٽا سيٽ تي لاڳو ڪريون.
    • پهريون، پهريون نالو ڪڍڻ لاءِ، هيٺ ڏنل فارمولا سيل ۾ لکو C5 .
    =SHORTNAME(B5,-1)

    • آخر ۾، آخري نالا ڪڍڻ لاءِ، اسان هيٺ ڏنل فارمولا کي D5 :
    • ۾ لکون ٿا. 11> =SHORTNAME(B5,1) 0>
    • بعد ۾، جيڪڏهن اسان باقي سيلن کي خودڪار ڀريو فيل هينڊلر<2 سان>، اسان پنهنجو گهربل نتيجو ڏسنداسين.

    🎓 ڪوڊ ڪيئن ڪم ڪندو آهي؟

    • فنڪشن SHORTNAME(Name as String, First_or_Last As Integer)

    اهو هڪ نئون فنڪشن ٺاهي ٿو جنهن کي SHORTNAME<2 سڏيو ويندو آهي> نالو نالي هڪ اسٽرنگ آرگيومينٽ سان ۽ هڪ انٽيجر آرگيومينٽ نالي سان First_or_Last .

    • Dim Break As Integer

    هي حصو هڪ نئين انٽيجر متغير جو اعلان ڪري ٿو جنهن جو نالو آهي Break .

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

    اهو Break variable جي قدر تفويض ڪري ٿو جيئن دليلن سان InStr فنڪشن جي آئوٽ پٽ 1، نالو، “” ۽ 0 . مختصر ۾، هي پوزيشن کي تفويض ڪري ٿو نالو جتي هڪ اسپيس (“”) آهي.

    • جيڪڏهن First_or_Last = -1 پوءِ SHORTNAME = کاٻي (نالو، بريڪ – 1)

    هي لڪير SHORTNAME فنڪشن جي آئوٽ پٽ کي اسپيس کان اڳ جي اکرن جي طور تي تفويض ڪري ٿي، جيڪڏهن First_or_Last دليل آهي -1. هي پهريون نالو آهي.

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

    هي حصو مقرر ڪري ٿو آئوٽ پٽ SHORTNAME فنڪشن اسپيس کان پوءِ ڪردارن جي طور تي، جيڪڏهن First_or_Last دليل 1 آهي. هي آخري نالو آهي.

    Conclusion

    هن طريقي سان، توهان InStr فنڪشن سان VBA ڪوڊ لکي سگهو ٿا جيڪو ڪنهن مخصوص اسٽرنگ جي پوزيشن کي ڳولي ٿو ٻئي ڏنل ڏنل اندر string، ۽ پوءِ توھان مختلف استعمالن لاءِ پنھنجون فنڪشن ٺاھي سگھو ٿا. ان کان علاوه، جيڪڏھن توھان وٽ ڪو سوال آھي، اسان کان پڇڻ لاء آزاد ٿيو.

Hugh West هڪ انتهائي تجربيڪار ايڪسل ٽرينر ۽ تجزيه نگار آهي جنهن سان صنعت ۾ 10 سالن کان وڌيڪ تجربو آهي. هن وٽ اڪائونٽنگ ۽ فنانس ۾ بيچلر جي ڊگري ۽ بزنس ايڊمنسٽريشن ۾ ماسٽر جي ڊگري آهي. Hugh کي تدريس جو شوق آهي ۽ هڪ منفرد تدريس وارو طريقو ٺاهيو آهي جنهن جي پيروي ڪرڻ ۽ سمجهڻ آسان آهي. Excel جي هن جي ماهر ڄاڻ سڄي دنيا ۾ هزارين شاگردن ۽ پروفيسر جي مدد ڪئي آهي انهن جي صلاحيتن کي بهتر بنائڻ ۽ انهن جي ڪيريئر ۾ شاندار. هن جي بلاگ ذريعي، هگ پنهنجي ڄاڻ کي دنيا سان حصيداري ڪري ٿو، مفت ايڪسل سبق ۽ آن لائن ٽريننگ پيش ڪري ٿو ماڻهن ۽ ڪاروبار کي انهن جي مڪمل صلاحيت تائين پهچڻ ۾ مدد ڏيڻ.