Meriv çawa di VBA de Fonksiyona InStr bikar tîne (3 Mînakên Hêsan)

  • Vê Parve Bikin
Hugh West

Dema ku bi kodên Excel VBA re dixebitin, em rastî çend fonksiyonên çêkirî tên ku peywirek tevlihev vediguhezînin kodek yek-xêzek piçûk. InStr fonksiyonek wusa ye ku di Excel VBA-yê de peyda dibe ku li rêzek taybetî di nav rêzek din a ku ji cîhek diyar dest pê dike de digere. Îro ez ê nîşan bidim ku hûn çawa dikarin fonksiyona InStr di VBA-yê de bikar bînin da ku li rêzikek taybetî di nav rêzek din de bigerin.

Pirtûka Xebatê ya Pratîkê dakêşin

InStr Function.xlsm

Destpêka Fonksiyon VBA InStr

  • Kurte

Di nav rêzeke diyarkirî de li rêzikek taybetî digere, ji cihê diyarkirî dest pê dike. Ger hevokek peyda bike, di rêzika diyarkirî de cihê ku lêhevdan dest pê kiriye vedigerîne.

  • Syntaks

InStr([destpêk ],string1,string2,[berhevkirin])

  • Arguman
ARGUMENT PÊWÎSTÎ DÎVEKIRIN

[destpêk] Bijarte Cihê ku ew ê jê dest bi lêgerînê bike. Vebijêrk 1 e.
string1 Pêdivî ye Rêya ku tê de li rêzek diyarî digere.
string2 Pêdivî ye Rêya ku ew di nav rêzek diyarkirî de lê digere.
[berhevkirin] Vebijarkî Nirxa jimareyî di navbera {-1,0,1,2} de ku cureyê berhevdanê diyar dike. Ewdefault -1 e (vbUseCompareOption). Ger daxuyaniya Berhevoka Vebijarkê neyê diyar kirin, Berawirdkirina Binaryê pêk bînin.

Têbînî:

  • Tevî ku [destpêk] û argumana [berhevkirin] vebijarkî ne, ji te re argumana [destpêk] lazim e, eger tu argumana [berhevkirin] diyar bikî. Wekî din, ew ê xeletiyek derxe.
  • Heke yek an jî herdu argumanên [destpêkirin] û argumana [berhevkirin] Null , hûn ê bi xeletiyekê re rû bi rû bimînin.
  • Çar nirxên diyarkirî yên di argumana [berhevkirin] de çar cureyên berhevdanê pêk tînin. Ew li jêr hatine binav kirin:
NIRIM DEWAM DÎROVEKIRIN

-1 vbUseCompareOption Berhevkirina ku di nav de hatî destnîşan kirin pêk tîne Daxuyaniya Vebijêrk Compare.
0 vbBinaryCompare Derhevkirina Binaryê pêk tîne.
1 vbTextCompare Berhevkirina nivîsê pêk tîne.
2 vbDatabaseCompare Li gorî databasa we berawirdkirinê pêk tîne. .
  • Vebijêrk Compare daxûyaniyek e ku berî koda VBA ya sereke dest pê bike. Ew diyar dike ka dê kod dema ku hewce bike dê li Berhevdana Binary an Berhevdana Nivîsar bigere.

Vebijêrk Berawirdkirina Nivîsarê

    • Bi peyvên sade , Berhevdana Binary tê wateya hestiyarberawirdkirin.
    • Bi peyvên sade , Berhevdana Nivîsê tê wateya berhevdana nehesasiye.
  • Nirxa Vegerê
    • Di string1 de cihê ku string2 jê dest pê kiriye vedigerîne.
    • Heke string2 neyê dîtin. di nav string1 de ji pozîsyona destpêk dest pê dike, 0 vedigere.
    • Heke string1 bi dirêjahiya sifir be, vedigere 0.
    • Eger string2 bi dirêjahiya sifir be, argumana destpêk vedigerîne.
    • Û di dawiyê de, heke yek ji string1 an string2 Null e, xeletiyek vedigerîne.

3 Nimûneyên Hêsan Ji bo Bikaranîna Fonksiyona VBA InStr

Di vê beşê, em ê sê mînakên hêsan ên sepandina fonksiyona VBA InStr li Excel bibînin. Ka em mînaka yekem a fonksiyona InStr di kodên VBA de bibînin.

1. Bi Karanîna Fonksiyona VBA InStr ve biryar didin ka navnîşek Navnîşanek E-nameyê ye an na Bi karanîna Fonksiyona VBA InStr

Li vir, me komek daneya ku hin navnîşanên pêwendiya xerîdar vedihewîne girtiye. Armanca me li vir ew e ku em nas bikin ka navnîşan navnîşanên e-nameyê ne an na.

Naha em ê kodek VBA bi karanîna fonksiyona InStr pêşve bibin da ku nas bikin. ka ew Navnîşanek E-nameyê ye an na. Ji bo vê yekê, gavên jêrîn bişopînin.

Gavên:

  • Di destpêkê de, herin tabloya Pêşdebir û hilbijêrin Visual Basic (An jî pêl Alt+F11) bikin da ku VBA vekinpaceyê.

  • Piştre, li ser pencereya VBA , here Têxe > Module .

  • Piştî wê, li ser modulê, koda jêrîn binivîsin:
8580

  • Herwiha, me fonksiyonek bi navê BIRYARE çêkir. Ew biryar dide ka navnîşek navnîşek e-nameyek e an na. Werin em fonksiyonê li berhevoka daneya ku li ber destê me ye bicîh bikin.
  • Li ser hucreya C5 , formula jêrîn binivîsin û dûv re jî bi Destana dagirtî şaneyên mayî bixweber tijî bikin.
=DECISION(B5)

  • Wekî ku em dibînin, me her navnîşan destnîşan kiriye ka ew navnîşanek e-nameyê ye. an na.

🎓 Kod Çawa Kar Dike?

  • Fonksiyon BIRYAR (string1 Wek String)

Pêşî, ev fonksiyonek bi navê BIRYARA bi argûmana rêzê ya bi navê string1 .

  • Pêşiya tîrêjê wekî yekjimar

Ew guhêrbarek yekjimar bi navê Position .

  • Position = InStr(1, string1, "@", 0)

Ev nirxa destnîşan dike Cihê guhêrbar wekî derketina fonksiyona InStr bi argumanên 1, string1, "@" û 0 . Bi kurtasî, ev yek di navnîşana ku tê de “@” heye, cih dide.

  • Eger Position = 0 Paşê BIRYARA = “Ne E-name”

Ew hilana fonksiyona BIRYARA wekî "Ne E-name" destnîşan dike, heke Position guhêrbar 0 e, ango di navnîşanê de “@” tune bû.

(Bînin bîra xwe ku di nav rêzika diyarkirî de rêzek nehate dîtin, Fonksiyon InStr 0 vedigerîne).

  • Biryareke din = "E-name"

Vê yekê destnîşan dike eger di navnîşanê de “@” hebe, derketina fonksiyona BIRYARA wekî "E-name" . Ji ber vê yekê navnîşanên ku "@" hene wekî E-name , û yên mayî jî wekî "Ne E-name" têne kategorîzekirin.

Xwendinên Wekhev

  • Meriv çawa fonksiyona VBA UCASE li Excel bikar tîne (4 Mînak)
  • Fonksiyon MsgBox di Excel VBA de bikar bînin (Rêbernameyek Bi tevahî)
  • Meriv çawa fonksiyona VBA SPLIT di Excel de bikar tîne (5 Nimûne)
  • Fonksiyonek LCase di VBA-yê de di Excel de bikar bînin (bi 4 Nimûne)
  • Meriv çawa di Excel VBA de fonksiyona rastkirinê bikar tîne (4 Mînak)

2. Bikaranîna Fonksiyona VBA InStr ji bo Derxistina Berfirehkirina Hin Navnîşanên E-nameyê

Li vir, me navnîşek hin Navnîşanên E-nameyê yên hin xerîdar hene. Vê carê em ê dirêjkirina navnîşana e-nameyê derxînin mîna ku gmail.com an yahoo.com hene.

Ji bo vê yekê, gavên jêrîn bişopînin.

Gavên:

  • Ji bo destpêkirinê, mîna rêbaza berê, nûvek VBA<2 veke> modul û koda jêrîn di pencereyê de bixin.
6531

  • Herweha me fonksiyonek bi navê BÊRÊKIRIN . Ew dirêjkirina her navnîşana e-nameyê derdixe.
  • Herweha, em vê fonksiyonê li berhevoka daneya ku me heye bicîh bînin. Pêşî, vê formulê li ser hucreya C5 binivîsin û dûv re li ser Destêra tije ducar bikirtînin.
=EXTENSION(B5)

  • Di dawiyê de, em dikarin bibînin ku me bi serfirazî Berfirehkirina hemî Emailan derxistiye.

🎓 Kod Çawa Kar dike?

  • Fonksiyon EXTENSION(E-mail Wek String)

Ev fonksiyonek nû bi navê EXTENSION , bi argumana rêzê ya bi navê E-name .

  • Cihê rengvekirî wekî yekjimar

Ev beş guhêrbarek hejmarek bi navê Position diyar dike. .

  • Position = InStr(1, Email, "@", 0)

Ev nirxa Pêş guhêrbar wekî derketina fonksiyona InStr bi argumanên 1, E-name, "@" û 0 . Bi kurtî, ev yek di E-name de cihê ku “@” heye, destnîşan dike.

  • EXTENSION = Rast(E-name, (Len (E-name) – Position))

Ev beş derencama fonksiyona EXTENSION wekî tîpên piştî nîşana “@” destnîşan dike. Ev dirêjkirina pêwîst a E-name ye.

3. Derxistina Pêşnav an Paşnav ji navekî Bi Bikaranîna Fonksiyona VBA InStr

Di dawiyê de, em ê karekî bêhempa cuda bikin. Vê carê navê hin xebatkarên me heneşirketek. Û em ê hewl bidin ku fonksiyonek çêbikin ku navê yekem an paşnavê karmendan derxînin.

Ji bo vê yekê, gavên jêrîn bişopînin.

0> Gavên:

  • Yê pêşî, mîna rêbaza 1 , koda li jêr di modulek nû de di pencereya VBA  de bixin.
7051

  • Li vir, me fonksiyonek bi navê SHORTNAME afirand ku navekî an paşnavê ji navekî derdixe. Werin em vê formulê li berhevoka daneya xwe bicîh bînin.
  • Di destpêkê de, ji bo derxistina navê yekem, formula li jêr di hucreya C5 de binivîsin.
=SHORTNAME(B5,-1)

  • Axir, ji bo derxistina paşnavan, em formula jêrîn di D5 de dinivîsin:
=SHORTNAME(B5,1)

  • Piştre, ger em şaneyên mayî bixweber bi Fill Handler<2 tijî bikin>, em ê encama ku tê xwestin bibînin.

🎓 Kodê Çawa Kar dike?

  • Fonksiyon SHORTNAME(Navê Wek Rêzê, Yekem_an_Dawî wek Jimar)

Fonksiyoneke nû bi navê SHORTNAME<2 diafirîne> bi argumanek Stringê bi navê Name û argumanek Intejimara bi navê Pirst_an_Last .

  • Dim Break As Integer

Ev beş guhêrbarek nû ya bi navê Break diyar dike.

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

Bi argumanan re nirxa guherbara Break wekî derketina fonksiyona InStr destnîşan dike. 1, Nav, “ ” û 0 . Bi kurtî, ev yek di Navê de cihê ku valek heye (“ ”) destnîşan dike.

  • Eger First_an_Dawî = -1 Paşê SHORTNAME = Çep(Nav, Veqetandin – 1)

Ev rêz derana fonksiyona SHORTNAME wekî tîpên berî vala destnîşan dike, heke argumana Yek_an_Dawî -1 be. Navê yekem ev e.

  • SHORTNAME = Rast(Nav, Len(Nav) – Break)

Ev beş derencama ya SHORTNAME wekî karakterên piştî vala kar dike, heke argumana Yek_an_Dawîn 1 be. Ev paşnav e.

Encam

Bi vî awayî, hûn dikarin kodên VBA-yê bi fonksiyona InStr binivîsin ku cihê rêzek taybetî di hundurê diyariyek din de dibîne. string, û dûv re hûn dikarin fonksiyonên xwe ji bo cûrbecûr karanîna biafirînin. Wekî din, eger pirsên we hebin, xwe ji me bipirsin.

Hugh West perwerdekar û analîstek Excel-ê pir bi tecrûbe ye ku di pîşesaziyê de zêdetirî 10 salan ezmûn heye. Di warê Hesabgiranî û Darayî de bawernameya Bachelorê û di Rêveberiya Karsaziyê de jî Master e. Hugh ji hînkirinê re dilşewat e û rêgezek hînkirinê ya bêhempa pêşxistiye ku hêsan tê şopandin û têgihiştin. Zanîna wî ya pispor a Excel alîkariya bi hezaran xwendekar û pisporan li çaraliyê cîhanê kiriye ku jêhatîbûnên xwe baştir bikin û di kariyera xwe de pêşde bibin. Bi bloga xwe, Hugh zanîna xwe bi cîhanê re parve dike, dersên belaş Excel û perwerdehiya serhêl pêşkêşî dike da ku alîkariya kes û karsaziyan bike ku bigihîjin potansiyela xwe ya tevahî.