Jinsi ya Kutumia Kazi ya InStr katika VBA (Mifano 3 Rahisi)

  • Shiriki Hii
Hugh West

Tunapofanya kazi na misimbo ya Excel VBA, tunakutana na vitendakazi vichache vilivyojumuishwa ambavyo hubadilisha kazi ngumu kuwa msimbo mdogo wa mstari mmoja. InStr ni chaguo la kukokotoa linalopatikana katika Excel VBA ambalo hutafuta mfuatano fulani ndani ya mfuatano mwingine uliotolewa kuanzia nafasi fulani. Leo nitakuwa nikionyesha jinsi unavyoweza kutumia InStr chaguo za kukokotoa katika VBA kutafuta mfuatano mahususi ndani ya mfuatano uliotolewa.

Pakua Kitabu cha Mazoezi cha Mazoezi

InStr Function.xlsm

Utangulizi wa VBA InStr Function

  • Muhtasari

Hutafuta mfuatano mahususi ndani ya mfuatano fulani, kuanzia nafasi fulani. Ikipata inayolingana, hurejesha nafasi katika mfuatano uliotolewa ambapo mechi ilianza.

  • Syntax

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

  • Hoja
HOJA MAHITAJI MAELEZO

[anza] Si lazima Nafasi ambayo itaanza kutafuta. Chaguo-msingi ni 1.
string1 Inahitajika Mfuatano ambao hutafuta mfuatano fulani.
string2 Inahitajika Mfuatano ambao inatafuta ndani ya mfuatano fulani.
[linganisha] Hiari Thamani ya nambari kati ya {-1,0,1,2} inayobainisha aina ya ulinganisho. Thechaguo-msingi ni -1 (vbUseCompareOption). Ikiwa kauli ya Kulinganisha Chaguo haijabainishwa, fanya Ulinganisho wa Uwili.

Kumbuka:

  • Ingawa [anza] hoja na [compare] hoja ni ya hiari, unahitaji [anza] hoja ikiwa utabainisha [compare] hoja. Vinginevyo, itaibua hitilafu.
  • Ikiwa mojawapo ya hoja ya [anza] na [compare] ni Nnull hoja moja au zote mbili>, utakumbana na hitilafu.
  • Thamani nne zilizobainishwa katika [compare] hoja hufanya aina nne tofauti za ulinganisho. Zimetajwa hapa chini:
THAMANI CONSTANT MAELEZO

-1 vbUseCompareChaguo Hufanya ulinganisho uliobainishwa katika kauli ya Chaguo Linganisha.
0 vbBinaryCompare Hufanya ulinganisho wa Ushirikiano.
1 vbTextCompare Hufanya ulinganisho wa maandishi.
2 vbDatabaseCompare Hufanya ulinganisho kulingana na hifadhidata yako. .
  • Chaguo Linganisha taarifa ni taarifa iliyotolewa kabla ya msimbo mkuu wa VBA kuanza. Inabainisha kama msimbo utatafuta Ulinganisho wa Ulinganifu au Ulinganisho wa Maandishi inapohitajika.

Chaguo Linganisha Maandishi

    • Kwa maneno rahisi , Ulinganisho Mbili maana yake ni nyeti kwa kesikulinganisha.
    • Kwa maneno rahisi , Ulinganisho wa Maandishi unamaanisha ulinganisho usiojali kesi.
  • Thamani ya Kurejesha 2>
    • Hurejesha nafasi katika string1 ambayo string2 ilianza.
    • Ikiwa string2 haipatikani. ndani ya string1 kuanzia kuanza nafasi, inarejesha 0.
    • Kama string1 ni ya urefu wa sifuri, inarudisha 0.
    • Ikiwa string2 ni ya urefu wa sifuri, hurejesha hoja anza .
    • Na hatimaye, ikiwa yoyote kati ya string1 au string2 ni Null , huleta hitilafu.

Mifano 3 Rahisi za Kutumia VBA InStr Function

In sehemu hii, tutaona mifano mitatu rahisi ya kutumia kitendakazi cha VBA InStr katika Excel. Hebu tuone mfano wa kwanza wa chaguo za kukokotoa InStr katika misimbo ya VBA.

1. Kuamua Kama Anwani Ni Barua Pepe au Siyo kwa Kutumia VBA InStr Function

Hapa, tumechukua seti ya data iliyo na baadhi ya anwani za mawasiliano za wateja. Lengo letu hapa litakuwa kubainisha iwapo anwani ni barua pepe au la.

Sasa tutatengeneza msimbo wa VBA kwa kutumia InStr kutambua. iwe ni Barua Pepe au la. Ili kufanya hivyo, fuata hatua zilizo hapa chini.

Hatua:

  • Mwanzoni, nenda kwenye kichupo cha Msanidi na uchague Visual Basic ( Au bonyeza Alt+F11) ili kufungua VBA dirisha.

  • Kisha, kwenye VBA dirisha, nenda kwa Ingiza > Moduli .

  • Baada ya hapo, kwenye moduli, bandika msimbo ufuatao:
7673

  • Zaidi ya hayo, tumeunda kipengele kinachoitwa MAAMUZI . Huamua kama anwani ni barua pepe au la. Hebu tutumie chaguo hili la kukokotoa kwenye seti ya data tuliyo nayo.
  • Kwenye kisanduku C5 , andika fomula ifuatayo kisha ujaze kiotomatiki seli zingine kwa kutumia Nchimbo ya Kujaza .
=DECISION(B5)

  • Kama tunavyoona, tumetambua kila anwani ikiwa ni barua pepe. au la.

🎓 Je, Kanuni Hufanya Kazi Gani?

  • UAMUZI wa Utendaji(Kamba1 Kama Mfuatano)

Kwanza, hii itaunda chaguo la kukokotoa linaloitwa MAAMUZI kwa kutumia hoja ya kamba iitwayo string1 .

  • Dim Position As Integer

Inatangaza kigezo kamili kinachoitwa Nafasi .

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

Hii inapeana thamani ya Nafasi tofauti kama pato la InStr chaguo za kukokotoa zenye hoja 1, string1, “@” na 0 . Kwa kifupi, hii inapeana nafasi katika anwani ambapo kuna “@” .

  • Kama Nafasi = 0 Kisha UAMUZI = “Si Barua pepe”

Inaweka pato la MAAMUZI kama “Si Barua pepe” , ikiwa Nafasi kutofautisha ni 0 , hiyo inamaanisha, hakukuwa na “@” kwenye anwani.

(Kumbuka ikiwa mfuatano wowote haupatikani ndani ya mfuatano uliotolewa,

1>InStr kipengele kinarejesha 0 ).

  • Engine UAMUZI = “Barua pepe”

Hii itakabidhi matokeo ya chaguo za kukokotoa za MAAMUZI kama “Barua pepe” ikiwa kulikuwa na “@” katika anwani. Kwa hivyo anwani ambazo kuna “@” zimeainishwa kama Barua pepe , na zilizosalia zimeainishwa kama “Sio Barua pepe” .

Visomo Sawa

  • Jinsi ya Kutumia kitendakazi cha VBA UCASE katika Excel (Mifano 4)
  • Tumia Utendakazi wa MsgBox katika Excel VBA (Mwongozo Kamili)
  • Jinsi ya kutumia kitendakazi cha VBA SPLIT katika Excel (Mifano 5)
  • Tumia Utendakazi wa LCase katika VBA katika Excel (Pamoja na Mifano 4)
  • Jinsi ya Kutumia Utendakazi wa Kurekebisha katika Excel VBA (Mifano 4)

2. Kutumia VBA InStr Function kwa Kutoa Kiendelezi cha Baadhi ya Anwani za Barua pepe

Hapa, tuna orodha ya baadhi ya Anwani za Barua pepe za baadhi ya wateja. Wakati huu tutatoa kiendelezi cha anwani ya barua pepe kama vile ikiwa wana gmail.com au yahoo.com .

Ili kufanya hivyo, fuata hatua zilizo hapa chini.

Hatua:

  • Kwa kuanzia, kama mbinu ya awali, fungua VBA<2 mpya> moduli na ubandike msimbo ufuatao kwenye dirisha.
1767

  • Kwa kuongeza, tumeunda kitendakazi kinachoitwa UPANUZI . Inatoa kiendelezi cha anwani yoyote ya barua pepe.
  • Zaidi ya hayo, hebu tutumie chaguo hili la kukokotoa kwenye seti ya data tuliyo nayo. Kwanza, weka fomula hii kwenye kisanduku C5 na kisha ubofye mara mbili kwenye Nchi ya Kujaza .
=EXTENSION(B5) 3>

  • Mwisho, tunaweza kuona kwamba tumefanikiwa kutoa Upanuzi wa Barua pepe zote.

1> 🎓 Kanuni Hufanya Kazije?

  • Kiendelezi cha Upanuzi(Barua pepe Kama Mfuatano)

Hii huunda chaguo mpya la kukokotoa liitwalo EXTENSION , na hoja ya kamba iitwayo Barua pepe .

  • Dim Nafasi Kama Nambari kamili

Sehemu hii inatangaza kigezo kamili kinachoitwa Nafasi .

  • Nafasi = InStr(1, Barua pepe, “@”, 0)

Hii inapeana thamani ya Nafasi tofauti kama pato la chaguo za kukokotoa za InStr zenye hoja 1, Barua pepe, “@” na 0 . Kwa ufupi, hii inapeana nafasi katika Barua pepe ambapo kuna “@” .

  • EXTENSION = Right(Barua pepe, (Len) (Barua pepe) – Nafasi))

Sehemu hii inapeana matokeo ya chaguo za kukokotoa za EXTENSION kama vibambo baada ya alama “@” . Hiki ndicho kiendelezi kinachohitajika cha Barua pepe .

3. Kutoa Jina la Kwanza au la Mwisho kutoka kwa Jina kwa Kutumia VBA InStr Function

Mwishowe, tutafanya kazi tofauti ya kipekee. Safari hii tunayo majina ya baadhi ya wafanyakazi wakampuni. Na tutajaribu kuunda chaguo za kukokotoa ili kutoa ama jina la kwanza au la mwisho la wafanyikazi.

Ili kufanya hivyo, fuata hatua zilizo hapa chini.

Hatua:

  • Kwanza, sawa na mbinu 1 , bandika msimbo ulio hapa chini katika sehemu mpya katika dirisha la VBA.
6569

  • Hapa, tumeunda chaguo la kukokotoa liitwalo SHORTNAME ambalo linatoa ama jina la kwanza au la mwisho kutoka kwa jina. Hebu tutumie fomula hii kwenye seti yetu ya data.
  • Mwanzoni, ili kutoa jina la kwanza, andika fomula hapa chini katika kisanduku C5 .
=SHORTNAME(B5,-1)

  • Mwisho, ili kutoa majina ya mwisho, tunaandika fomula ifuatayo katika D5 :
  • 11> =SHORTNAME(B5,1)

    • Baadaye, tukijaza seli zilizosalia kiotomatiki Jaza Kishughulikiaji , tutaona matokeo tunayotaka.

    🎓 Je! Kanuni Inafanya Kazi Gani?

    • Uteuzi SHORTNAME(Jina Kama Mfuatano, Kwanza_au_Mwisho Kama Nambari kamili)

    Inaunda chaguo mpya la kukokotoa liitwalo SHORTNAME yenye hoja ya Kamba moja inayoitwa Jina na Hoja Moja ya Jumla iliyopewa jina Kwanza_au_Mwisho .

    • Dim Break Kama Nambari kamili

    Sehemu hii inatangaza kigezo kipya kamili kinachoitwa Vunja .

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

    Inaweka thamani ya Break kutofautisha kama pato la InStr chaguo la kukokotoa pamoja na hoja. 1, Jina, “ ” na 0 . Kwa ufupi, hii inapeana nafasi katika Jina ambapo kuna nafasi (“ ”).

    • Kama First_or_Last = -1 Kisha SHORTNAME = Kushoto(Jina, Mapumziko - 1)

    Mstari huu unaweka pato la chaguo la kukokotoa la SHORTNAME kama vibambo kabla ya nafasi , ikiwa Kwanza_au_Mwisho hoja ni -1. Hili ndilo jina la kwanza.

    • SHORTNAME = Right(Jina, Len(Jina) - Break)

    Sehemu hii inapeana matokeo ya SHORTNAME hufanya kazi kama herufi baada ya nafasi , ikiwa hoja ya Kwanza_au_Mwisho ni 1. Hili ndilo jina la mwisho.

    Hitimisho

    Kwa njia hii, unaweza kuandika misimbo ya VBA ukitumia kitendakazi cha InStr ambacho hupata nafasi ya mfuatano mahususi ndani ya nyingine uliyopewa. string, na kisha unaweza kuunda kazi zako mwenyewe kwa matumizi anuwai. Zaidi ya hayo, ikiwa una maswali yoyote, jisikie huru kutuuliza.

Hugh West ni mkufunzi na mchambuzi mwenye uzoefu wa juu wa Excel na uzoefu wa zaidi ya miaka 10 katika tasnia. Ana Shahada ya Kwanza katika Uhasibu na Fedha na Shahada ya Uzamili katika Utawala wa Biashara. Hugh ana shauku ya kufundisha na ameanzisha mbinu ya kipekee ya kufundisha ambayo ni rahisi kufuata na kuelewa. Ujuzi wake wa kitaalam wa Excel umesaidia maelfu ya wanafunzi na wataalamu ulimwenguni kote kuboresha ujuzi wao na kufaulu katika taaluma zao. Kupitia blogu yake, Hugh hushiriki ujuzi wake na ulimwengu, akitoa mafunzo ya bila malipo ya Excel na mafunzo ya mtandaoni ili kuwasaidia watu binafsi na biashara kufikia uwezo wao kamili.