Nola erabili InStr funtzioa VBAn (3 adibide erraz)

  • Partekatu Hau
Hugh West

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.

Hugh West esperientzia handiko Excel prestatzaile eta analista da, industrian 10 urte baino gehiagoko esperientzia duena. Kontabilitate eta Finantzetan Lizentziatua eta Enpresen Administrazioko Masterra da. Hughek irakasteko grina du eta jarraitzeko eta ulertzeko erraza den irakaskuntza-ikuspegi berezia garatu du. Excel-en ezagutza adituak mundu osoko milaka ikasle eta profesionalei beren gaitasunak hobetzen eta beren karreran bikaintzen lagundu die. Bere blogaren bidez, Hughek bere ezagutzak munduarekin partekatzen ditu, doako Excel tutorialak eta lineako prestakuntza eskainiz, pertsona eta enpresei beren potentzial osoa lortzen laguntzeko.