Edukien taula
Visual Basic Application (VBA) -n erabiltzen dugun funtzio garrantzitsuenetariko eta erabilienetako bat Bilatu funtzioa da. Artikulu honetan, Excel-en AURKITU funtzioa nola erabil dezakezun erakutsiko dizut adibide eta ilustrazio egokiekin.
Deskargatu Praktika-koadernoa
Aurkitu funtzioa VBA-n Excel.xlsm-en
6 adibide azkar VBA-n FIND funtzioa erabiltzeko
Hemen dugu Martin Bookstore izeneko liburu-denda bateko Liburuen izenak, egileak eta Prezioak dituen datu multzo bat lortu du.
Gaur egun. gure helburua da VBA -ren Bilatu funtzioa ren hainbat erabilera mota datu multzo honetatik ikustea.
1. Erabili Bilatu Funtzioa VBAn parametrorik gabe
VBA ren Bilatu funtzioa erabil dezakezu parametrorik gabe.
Ondoren gelaxka-barruti baten barruan balio zehatz bat bilatuko du eta aurkitzen duen lehenengo bat datorrena itzuliko du.
Bila dezagun izena “P. B. Shelly” zutabean Egilea ( C4:C13 ).
Bilatu funtzioa duen lerroa hau izango da:
Set cell = Range("C4:C17").Find("P. B. Shelly")
VBA kodea osoa hau izango da:
⧭ VBA kodea:
8134
⧭ Irteera:
bat sortzen du Bilatu izeneko makroa . Makroa exekutatzen baduzu, $C$6 itzuliko du, P izena duen lehen gelaxka-helbidea. B. Shelly .
Irakurri gehiago: Bilatu barruti batean VBA-nExcel: bat-etortze zehatzak eta partzialak barne
2. Aplikatu Bilatu Funtzioa VBA-n After parametroarekin (zelula zehatz batetik bilatzen hasteko)
After parametroa Bilatu funtzioarekin erabil dezakezu. VBA n. Ondoren, barruti bateko gelaxka baten azpitik balio bat bilatzen hasiko da.
Adibidez, has gaitezen izenaren bila “P. B. Shelly” beheko gelaxkatik C6 .
Kode lerroa hau izango da:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
Eta VBA kodea osoa hau izango da:
⧭ VBA kodea:
4945
⧭ Irteera:
$C$13 itzuliko du, C6 gelaxka azpitik bilatzen hasten delako, hori C7 gelaxkakoa da. Beraz, P. B. Shelly gelaxkan C13 lehenik.
Irakurri gehiago: Nola aurkitu katea batean Gelaxka Excel-en VBA erabiliz
3. Exekutatu Bilatu Funtzioa VBA-n After parametroaren inguruan bilduta (Balio bat modu zirkularrean bilatzeko)
After parametroa Bilatu funtzioa balio bat modu zirkularrean bilatzen du
Hau da, barruti bateko gelaxka baten azpitik bilatzen hasten da, barrutian bilatzen amaitzen du, eta berriro barrutiaren goialdetik hasten da.
Adibidez, has gaitezen “John Keats” izena bilatzen C8 gelaxka azpitik After parametroa erabiliz.
Lerroa. kodea hau izango da:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Etaosatu VBA kodea hau izango da:
⧭ VBA kodea:
4275
⧭ Irteera:
$C$7 itzuliko du, C8 gelaxka azpitik bilatzen hasten delako, hau da. C9 gelaxka.
Ez du ezer aurkitzen C13 gelaxkaraino, beraz, berriro ere C4 gelaxkatik hasten da eta gelaxkan bat aurkitzen du. C7 .
Antzeko irakurketak:
- Nola aurkitu String VBA-rekin Excel-en (8 adibide)
- Bilatu bat-etortze zehatza VBA erabiliz Excel-en (5 modu)
- Nola aurkitu eta ordezkatu VBA erabiliz (11 Bideak)
4. Erabili Bilatu Funtzioa VBA-n LookAt parametroarekin (etortze zehatza edo partziala lortzeko)
Bilatu funtzioa erabil dezakezu VBA -n LookAt parametroa.
Erabili LookAt = xlWhole bat-etortze zehatza eta LookAt=xlPart partzial baterako. bat.
Adibidez, saia gaitezen aurkitzen “Oda” izena duen libururik Liburuaren izena zutabean ( B4:B13 ).
Kode lerroan xlWhole erabiltzen badugu:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Irteerak errore bat erakutsiko du, ez duelako zehatz bat-etortzerik aurkituko.
Baina erabiltzen baduzu:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Ondoren, $B$9 itzuliko da, “Oda” izena duen liburu bat dagoelako gelaxkan. B7 , Urretxindorrari oda.
Beraz, partida partzialaren kode osoahau da:
⧭ VBA kodea:
5472
5. Funtzionatu Bilatu Funtzioa VBA-n SearchDirection parametroarekin (Bilaketaren norabidea zehazteko)
Bilatu funtzioa ere erabil dezakezu VBA -n. SearchDirection parametroa.
Erabili SearchDirection = xlNext Goitik Behetik bilatzeko.
Eta SearchDirection = xlAurreko Behetik gora bilatzeko.
Adibidez, saia gaitezen Egilea Elif Shafak Egilea zutabean aurkitzen. ( C4:C13 ).
Kode lerroan xlNext erabiltzen badugu:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Ondoren, $C$5 itzuliko du.
Baina erabiltzen baduzu:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Ondoren, $C$11 itzuliko da.
Beraz, behetik gora bilatzeko kode osoa 2> da:
⧭ VBA kodea:
4347
6. Bilatu Funtzioa VBA-n MatchCase parametroarekin (Maiuskulak eta minuskulak bereizten dituena edo ez diren bat-etortzeetarako)
Azkenik, Bilatu funtzioa erabil dezakezu MatchCase parametroarekin.
Erabili MatchCase = True Mauskulak eta minuskulak bereizten dituen mauskulak , eta MatchCase=False baterako mauskulak eta minuskulak bereizten ez dituena.
Adibidez, saia gaitezen “ama” liburua aurkitzen Liburuaren izena zutabean ( B4:B13 ).
Kode lerroan True erabiltzen badugu:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
Irteerak errore bat erakutsiko du, egingo duelako' ez aurkitu inorbat.
Baina erabiltzen baduzu:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Orduan, itzuliko da $ B$9 “Ama” izeneko liburu bat dagoelako B8 gelaxkan.
Beraz, kode osoa maiuskulak eta minuskulak bereizten ez dituen bat-etortzea hau da:
⧭ VBA kodea:
1321
Ondorioa
Metodo hauek erabiliz, Bilatu Funtzioa erabil dezakezu Visual Basic aplikazioan. Galderarik baduzu? Galdetu lasai.