Kako koristiti funkciju Find u VBA (6 primjera)

  • Podijeli Ovo
Hugh West

Jedna od najvažnijih i najčešće korištenih funkcija koju koristimo u Visual Basic Application (VBA) je funkcija Find. U ovom ću vam članku pokazati kako možete koristiti funkciju FIND u programu Excel s odgovarajućim primjerima i ilustracijama.

Preuzmite vježbovnicu

Funkcija pronađi u VBA u Excel.xlsm

6 brzih primjera za korištenje funkcije FIND u VBA

Ovdje imamo dobio skup podataka s Imenima knjiga, autorima i Cijenama nekih knjiga knjižare Martin Bookstore.

Danas naš cilj je vidjeti različite vrste upotrebe funkcije Find VBA iz ovog skupa podataka.

1. Koristite funkciju Find u VBA bez parametara

Možete koristiti Funkciju Find od VBA bez parametara.

Onda je tražit će određenu vrijednost unutar raspona ćelija i vratiti prvo podudaranje koje nađe.

Potražimo ime “P. B. Shelly” u stupcu Autor ( C4:C13 ).

Redak s Funkcijom traženja bit će:

Set cell = Range("C4:C17").Find("P. B. Shelly")

Kompletan VBA kod bit će:

VBA kod:

4543

Izlaz:

Proizvodi Makro pod nazivom Traži . Ako pokrenete Makro, vratit će $C$6 , prvu adresu ćelije s imenom P. B. Shelly .

Pročitajte više: Pronađi unutar raspona s VBA uExcel: uključujući točna i djelomična podudaranja

2. Primijenite funkciju Find u VBA s parametrom After (za početak pretraživanja iz određene ćelije)

Možete koristiti parametar After s Funkcijom Find u VBA . Zatim će početi tražiti vrijednost ispod ćelije unutar raspona.

Na primjer, počnimo tražiti ime “P. B. Shelly” ispod ćelije C6 .

Redak koda bit će:

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

Kompletan VBA kod bit će:

VBA kod:

4921

Izlaz:

Vratit će $C$13 jer počinje pretraživati ​​ispod ćelije C6 , to je iz ćelije C7 . Tako dobiva P. B. Shelly prvo u ćeliji C13 .

Pročitajte više: Kako pronaći niz u Ćelija pomoću VBA u Excelu

3. Pokrenite funkciju Find u VBA s prelamanjem oko parametra After (za traženje vrijednosti na kružni način)

Parametar After s Funkcijom Find traži vrijednost na kružni način

To jest, počinje pretraživanje od ispod ćelije unutar raspona, završava pretraživanje u rasponu, a zatim ponovno počinje od vrha raspona.

Na primjer, počnimo pretraživati ​​ime “John Keats” ispod ćelije C8 pomoću parametra Nakon .

Linija od kod će biti:

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

Ikompletan VBA kod će biti:

VBA kod:

1426

Izlaz:

Vratit će $C$7 jer počinje tražiti ispod ćelije C8 , to je od ćelija C9 .

Ne pronalazi ništa do ćelije C13 , pa ponovno počinje od ćelije C4 i pronalazi jednu u ćeliji C7 .

Slična čitanja:

  • Kako pronaći niz pomoću VBA u Excelu (8 primjera)
  • Pronađi točno podudaranje pomoću VBA u Excelu (5 načina)
  • Kako pronaći i zamijeniti pomoću VBA (11 Načini)

4. Upotrijebite funkciju Find u VBA s parametrom LookAt (za točno ili djelomično podudaranje)

Možete koristiti Funkciju Find u VBA s LookAt parametar.

Koristite LookAt = xlWhole za Točno podudaranje i LookAt=xlPart za Djelomično odgovara.

Na primjer, pokušajmo saznati postoji li knjiga s imenom “Oda” u stupcu Naziv knjige ( B4:B13 ).

Ako koristimo xlWhole u retku koda:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

Izlaz će prikazati pogrešku jer neće pronaći nikakvo točno podudaranje.

Ali ako koristite:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

Tada će se vratiti $B$9 , jer postoji knjiga s imenom “Oda” u ćeliji B7 , Oda slavuju.

Dakle, kompletan kod za djelomično podudaranjeje:

VBA kod:

4182

5. Upravljajte funkcijom traženja u VBA s parametrom SearchDirection (za određivanje smjera pretraživanja)

Također možete koristiti funkciju traženja u VBA s Parametar SearchDirection .

Koristite SearchDirection = xlNext za pretraživanje od Top to Bottom .

I SearchDirection = xlPrevious za pretraživanje od Od dna prema vrhu .

Na primjer, pokušajmo pronaći autora Elif Shafak u stupcu Autor ( C4:C13 ).

Ako koristimo xlNext u retku koda:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

Tada će vratiti $C$5 .

Ali ako koristite:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

Tada će vratiti $C$11 .

Dakle, kompletan kod za pretraživanje od odozdo prema gore je:

VBA kod:

6855

6. Funkcija traženja u VBA s parametrom MatchCase (za podudaranje osjetljivo na velika ili mala slova)

Konačno, možete koristiti funkciju traženja s parametrom MatchCase .

Koristite MatchCase = True za podudaranje različito na velika i mala slova , i MatchCase=False za podudaranje bez obzira na velika i mala slova.

Na primjer, pokušajmo pronaći knjigu “majka” u stupcu Naziv knjige ( B4:B13 ).

Ako koristimo True u retku koda:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

Izlaz će prikazati pogrešku jer neće ne naći nijedanodgovara.

Ali ako koristite:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

Onda će se vratiti $ B$9 jer postoji knjiga pod nazivom “Majka” u ćeliji B8 .

Dakle, kompletan kod za podudaranje neosjetljivo na velika i mala slova je:

VBA kod:

4070

Zaključak

Koristeći ove metode, možete koristiti funkciju Find u aplikaciji Visual Basic. Imate li kakvih pitanja? Slobodno nas pitajte.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.