Edukien taula
Excel VBA kodeekin lan egiten dugun bitartean, zeregin konplexu bat lerro bakarreko kode txiki batean bihurtzen duten funtzio integratu batzuk aurkituko ditugu. InStr Excel VBAn eskuragarri dagoen funtzio bat da, kate jakin bat bilatzen duen beste kate jakin batean posizio jakin batetik hasita. Gaur InStr funtzioa VBAn nola erabil dezakezun erakutsiko dizut kate zehatz bat bilatzeko beste kate baten barruan.
Deskargatu Praktika Lan-koadernoa
InStr Function.xlsm
VBA InStr Funtzioaren sarrera
- Laburpena
Kate jakin baten barruan kate zehatz bat bilatzen du, posizio jakin batetik hasita. Bat-etortze bat aurkitzen badu, emandako katearen posizioa itzultzen du bat-etortzea hasi zenetik.
- Sintaxia
InStr([hasi ],katea1,katea2,[alderatu])
- Argudioak
ARGUDIOA | ESKAKIZUNA | DESKRIBAPENA
|
---|---|---|
[hasi] | Aukerakoa | Bilatzen hasiko den posizioa. Lehenetsia 1 da. |
katea1 | Beharrezkoa | Kate jakin bat bilatzen duen katea. |
katea2 | Beharrezkoa | Kate jakin batean bilatzen duen katea. |
[alderatu] | Aukerakoa | Konparazio mota zehazten duen {-1,0,1,2} arteko zenbakizko balio bat. Thelehenetsia -1 da (vbUseCompareOption). Aukera Konparazio adierazpena zehazten ez bada, egin Konparazio Bitarra. |
Oharra:
- Nahiz eta [hasi] argumentua eta [konparatu] argumentua aukerakoak dira, [hasi] argumentua behar duzu [konparatu] argumentua zehazten baduzu. Bestela, errore bat sortuko du.
- [hasi] argumentu bat edo biak eta [konparatu] argumentua Null<2 badira>, errore bati aurre egingo diozu.
- [konparatu] argumentuan zehaztutako lau balioek lau konparazio mota ezberdin egiten dituzte. Jarraian aipatzen dira:
BALIOA | KONTASUNA | DESKRIBAPENA
|
---|---|---|
-1 | vbUseCompareOption | Han zehaztutako konparazioa egiten du Aukera Konparatu adierazpena. |
0 | vbBinaryCompare | Konparazio bitar bat egiten du. |
1 | vbTextCompare | Testu-konparaketa bat egiten du. |
2 | vbDatabaseCompare | Zure datu-basean oinarritutako konparaketa bat egiten du . |
- Option Compare adierazpena VBA kode nagusia hasi aurretik emandako adierazpena da. Kodeak konparazio bitarra edo testu konparazioa bilatuko duen zehazten du beharrezkoa denean.
Testua konparatzeko aukera
-
- Termino sinpleetan , Binary Comparison maiuskulak eta minuskulak bereizten ditukonparazioa.
- Termino sinpleetan , Testu Konparaketak maiuskulak eta minuskulak bereizten ez dituen konparazioa esan nahi du.
- Itzuli balioa
- katea1 -ko posizioa itzultzen du, katea2 hasi zenetik.
- katea2 ez bada aurkitzen. kate1 barruan hasiera posiziotik hasita, 0 ematen du.
- kate1 zero-luzera bada, 0 ematen du.
- kate2 zero-luzera bada, hasi argumentua itzultzen du.
- Eta, azkenik, kate1 edo edozein bada. katea2 Null da, errore bat itzultzen du.
VBA InStr funtzioa erabiltzeko 3 adibide errazak
In atal honetan, Excel-en VBA InStr funtzioa aplikatzeko hiru adibide erraz ikusiko ditugu. Ikus dezagun InStr funtzioaren lehen adibidea VBA kodeetan.
1. Helbide bat Helbide elektronikoa den ala ez erabakitzea VBA InStr Funtzioa erabiliz
Hemen, bezeroen harremanetarako helbide batzuk dituen datu multzo bat hartu dugu. Gure helburua hemen helbideak helbide elektronikoak diren edo ez identifikatzea izango da.
Orain VBA kodea garatuko dugu InStr funtzioa erabiliz identifikatzeko. Helbide elektronikoa den ala ez. Horretarako, jarraitu beheko urratsak.
Urratsak:
- Hasieran, joan Garatzailea fitxara eta hautatu Visual Basic ( Edo sakatu Alt+F11) VBA irekitzekoleihoa.
- Ondoren, VBA leihoan, joan Txertatu > Modulua .
- Ondoren, moduluan, itsatsi kode hau:
9338
- Gainera, ERABAKIA izeneko funtzioa sortu dugu. Helbide bat helbide elektroniko bat den edo ez erabakitzen du. Aplikatu diezaiogun funtzioa daukagun datu-multzoari.
- C5 gelaxkan, idatzi hurrengo formula eta, ondoren, gainerako gelaxkak automatikoki bete Bete heldulekua erabiliz.
=DECISION(B5)
- Ikusten dugunez, helbide bakoitza identifikatu dugu helbide elektronikoa den ala ez. edo ez.
🎓 Nola funtzionatzen du kodeak?
- Funtzioa DECISION(katea1 String gisa)
Lehenik eta behin, honek ERABAKIA izeneko funtzioa sortzen du. kate1 izeneko katearen argumentua.
- Kokapena osoko moduan
Kokapena
- Kokapena = InStr(1, katea1, “@”, 0)
Honek -ren balioa esleitzen du Kokatu aldagaia InStr funtzioaren irteera gisa 1, string1, “@” eta 0 argumentuekin. Laburbilduz, honek “@” dagoen helbidean posizioa esleitzen du.
- Kokapena = 0 bada, ERABAKIA = "Ez posta elektronikoa"
ERABAKIA funtzioaren irteera “Ez posta elektronikoa” gisa esleitzen du, Posizioa bada.aldagaia 0 da, hau da, ez zegoen “@” helbidean.
(Gogora ezazu emandako katearen barruan katerik aurkitzen ez bada, InStr funtzioak 0 itzultzen du).
- Bestela ERABAKIA = "E-posta"
Honek esleitzen du. ERABAKIA funtzioaren irteera “E-posta” gisa “@” helbidean bada. Beraz, “@” dagoen helbideak E-posta gisa sailkatzen dira, eta gainerakoak “Ez posta elektronikoa” gisa sailkatzen dira.
Antzeko irakurketak
- Nola erabili VBA UCASE funtzioa Excel-en (4 adibide)
- Erabili MsgBox funtzioa Excel VBA-n (Gida osoa)
- Nola erabili VBA SPLIT funtzioa Excel-en (5 adibide)
- Erabili LCase Funtzioa VBA-n Excel-en (Ekin 4 Adibideak)
- Nola erabili Konponketa Funtzioa Excel VBA-n (4 Adibideak)
2. VBA InStr funtzioa erabiltzea Helbide elektroniko batzuen luzapena ateratzeko
Hemen, bezero batzuen helbide elektronikoen zerrenda dugu. Oraingoan helbide elektronikoaren luzapena aterako dugu gmail.com edo yahoo.com duten ala ez.
. Horretarako, jarraitu beheko urratsak.
Urratsak:
- Hasteko, aurreko metodoa bezala, ireki VBA<2 berri bat> modulua eta itsatsi hurrengo kodea leihoan.
3123
- Gainera, izeneko funtzio bat sortu dugu. LUZAPENA . Edozein helbide elektronikoren luzapena ateratzen du.
- Gainera, aplika diezaiogun funtzio hau daukagun datu multzoari. Lehenik eta behin, sartu formula hau C5 gelaxkan eta egin klik bikoitza Bete heldulekua gainean.
=EXTENSION(B5)
- Azkenik, mezu elektroniko guztien luzapena arrakastaz atera dugula ikus dezakegu.
🎓 Nola funtzionatzen du kodeak?
- Funtzioa EXTENSION(E-posta kate gisa)
Honek EXTENSION izeneko funtzio berri bat sortzen du, E-posta izeneko kate-argumentua.
- Kokapena osoko moduan
Zati honek Kokapena izeneko aldagai oso bat adierazten du. .
- Posizioa = InStr(1, Posta elektronikoa, “@”, 0)
Honek <1-ren balioa esleitzen du>Kokatu aldagaia InStr funtzioaren irteera gisa 1, Email, “@” eta 0 argumentuekin. Laburbilduz, honek Mezu elektronikoa n “@” bat dagoen posizioa esleitzen du.
- LUZAPENA = Eskuin(E-posta, (Len (Posta elektronikoa) – Posizioa))
Zati honek LUZAPENA funtzioaren irteera “@” sinboloaren ondorengo karaktere gisa esleitzen du. Hau da E-posta ren beharrezko luzapena.
3. Izen batetik izena edo abizena ateratzea VBA InStr funtzioa erabiliz
Azkenik, zeregin ezberdin bat egingo dugu. Oraingoan langile batzuen izenak dituguenpresa bat. Eta langileen izena edo abizena ateratzeko funtzio bat eraikitzen saiatuko gara.
Horretarako, jarraitu beheko urratsak.
Urratsak:
- Lehenik eta behin, 1. metodoaren antzera , itsatsi beheko kodea VBA leihoko modulu berri batean.
7757
- Hemen, SHORTNAME izeneko funtzio bat sortu dugu, izen batetik izena edo abizena ateratzen duena. Aplikatu dezagun formula hau gure datu multzoari.
- Hasieran, izena ateratzeko, idatzi beheko formula C5 gelaxkan.
=SHORTNAME(B5,-1)
- Azkenik, abizenak ateratzeko, formula hau idatziko dugu D5 n:
=SHORTNAME(B5,1)
- Ondoren, gainerako gelaxkak automatikoki betetzen baditugu Bete kudeatzailea<2-rekin>, nahi dugun emaitza ikusiko dugu.
🎓 Nola funtzionatzen du kodeak?
- Funtzioa SHORTNAME(Izena kate gisa, lehena_edo_azkena zenbaki oso gisa)
SHORTNAME<2 izeneko funtzio berri bat sortzen du> Izena izeneko String argumentu batekin eta Lehena_edo_Azkena izeneko zenbaki osoko argumentu batekin.
- Dim Break Integer gisa
Zati honek Break izeneko aldagai oso berri bat deklaratzen du.
- Break = InStr(1, Name, ” “, 0)
Break aldagaiaren balioa esleitzen du InStr funtzioaren irteera gisa argumentuekin 1, Izena, “ ” eta 0 . Laburbilduz, honek Izena -ko posizioa esleitzen du, non espazio bat dagoen (" ").
- Lehena_edo_Azkena = -1 bada, orduan SHORTNAME = Ezker (Izena, Break – 1)
Lerro honek SHORTNAME funtzioaren irteera esleitzen du espazio aurreko karaktere gisa, Lehena_edo_Azkena argumentua -1 bada. Hau da lehen izena.
- SHORTNAME = Right(Izena, Len(Izena) – Break)
Zati honek irteera esleitzen du. SHORTNAME espazio ondorengo karaktere gisa funtzionatzen du, First_or_Last argumentua 1 bada. Hau da abizena.
Ondorioa
Horrela, VBA kodeak idatz ditzakezu InStr funtzioarekin, kate jakin baten posizioa jakin dezan beste emandako baten barruan. katea, eta gero zure funtzioak sor ditzakezu hainbat erabileratarako. Gainera, galderarik baduzu, galdetu lasai.