Tabloya naverokê
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.