Sadržaj
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.