Kazalo
Ena najpomembnejših in najpogosteje uporabljenih funkcij, ki jih uporabljamo v Aplikacija Visual Basic (VBA) je funkcija Find. V tem članku vam bom pokazal, kako lahko uporabite funkcijo Funkcija FIND programa Excel z ustreznimi primeri in ilustracijami.
Prenesi delovni zvezek za prakso
Iskanje funkcije v VBA v Excel.xlsm6 hitrih primerov uporabe funkcije FIND v VBA
Tu imamo nabor podatkov z Imena knjig, avtorji in . Cene nekaj knjig iz knjigarne Martin Bookstore.
Danes je naš cilj prikazati različne vrste uporabe Poišči funkcijo na spletnem mestu VBA iz tega nabora podatkov.
1. Uporaba funkcije Find v VBA brez parametra
Uporabite lahko Poišči funkcijo na spletnem mestu VBA brez parametrov.
Nato poišče določeno vrednost v območju celic in vrne prvo najdeno ujemanje.
Poiščimo ime "P. B. Shelly" v stolpcu Avtor ( C4:C13 ).
Črta z Poišči funkcijo bo:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Celoten Koda VBA bo:
⧭ Koda VBA:
Sub Find() Set cell = Range("C4:C17").Find("P. B. Shelly") MsgBox cell.Address End Sub
⧭ Izhod:
Ustvari Makro . Poišči Če zaženete makro program, bo vrnil $C$6 , naslov prve celice z imenom P. B. Shelly .
Preberite več: Iskanje v območju z VBA v Excelu: vključno z natančnimi in delnimi ujemanji
2. Uporaba funkcije Find v VBA s parametrom After (za začetek iskanja iz določene celice)
Uporabite lahko Po spletni strani s parametrom Poišči funkcijo na spletnem mestu VBA . Nato bo začel iskati vrednost pod celico znotraj območja.
Začnimo na primer iskati ime "P. B. Shelly" iz spodnje celice C6 .
Vrstica kode bo:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
In celoten Koda VBA bo:
⧭ Koda VBA:
Sub Find() Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6")) MsgBox cell.Address End Sub
⧭ Izhod:
Vrne se $C$13 ker začne iskati od spodnje celice C6 , ki je iz celice C7 . Tako dobi P. B. Shelly v celici C13 prvi.
Preberite več: Kako poiskati niz v celici z uporabo VBA v Excelu
3. Zagon funkcije Find v VBA z ovijanjem okoli parametra After (za krožno iskanje vrednosti)
Spletna stran Po spletni strani s parametrom Poišči funkcijo krožno išče vrednost
To pomeni, da začne iskati pod celico v območju, konča iskanje v območju in nato znova začne z vrha območja.
Začnimo na primer z iskanjem imena "John Keats" iz spodnje celice C8 z uporabo Po spletni strani parameter.
Vrstica kode bo:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
In celoten Koda VBA bo:
⧭ Koda VBA:
Sub Find() Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8")) MsgBox cell.Address End Sub
⧭ Izhod:
Vrne se $C$7 ker začne iskati od spodnje celice C8 , ki je iz celice C9 .
Ne najde ničesar do celice C13 , tako da se spet začne iz celice C4 in ga najde v celici C7 .
Podobna branja:
- Kako najti niz z VBA v Excelu (8 primerov)
- Iskanje natančnega ujemanja z uporabo VBA v Excelu (5 načinov)
- Kako poiskati in zamenjati s programom VBA (11 načinov)
4. Uporabite funkcijo Find v programu VBA s parametrom LookAt (za natančno ali delno ujemanje)
Uporabite lahko Poišči funkcijo na spletnem mestu VBA z Poglej parameter.
Uporabite LookAt = xlWhole za Natančno ujemanje in LookAt=xlPart za Delno tekma.
Poskusimo na primer ugotoviti, ali obstaja knjiga z imenom "Oda" v Ime knjige stolpec ( B4:B13 ).
Če uporabimo xlV celoti v vrstici kode:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Izpis bo prikazal napako, ker ne bo našel nobenega točno tekma.
Če uporabljate:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Nato se vrne $B$9 , ker obstaja knjiga z imenom "Oda" v njej v celici B7 , Oda slavčku.
Tako je celotna koda za delno tekma je:
⧭ Koda VBA:
Sub Find() Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart) MsgBox cell.Address End Sub
5. Delovanje funkcije Find v VBA s parametrom SearchDirection (za določitev smeri iskanja)
Uporabite lahko tudi Poišči funkcijo na spletnem mestu VBA z Smer iskanja parameter.
Uporabite Smer iskanja = xlNext za iskanje po Od zgoraj navzdol .
In Smer iskanja = xlPrevious za iskanje po Od spodaj navzgor .
Poskusimo na primer poiskati avtorja Elif Shafak v stolpcu Avtor ( C4:C13 ).
Če uporabimo xlNaslednji v vrstici kode:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Nato se vrne $C$5 .
Če uporabljate:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Nato se vrne $C$11 .
Celotna koda za iskanje po od spodaj navzgor je:
⧭ Koda VBA:
Sub Find() Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious) MsgBox cell.Address End Sub
6. Funkcija Find v programu VBA s parametrom MatchCase (za ujemanje, občutljivo na velikost črk ali neobčutljivo na velikost črk)
Nazadnje lahko uporabite Poišči funkcijo z MatchCase parameter.
Uporabite MatchCase = True za , ki upošteva velike in male črke. tekma , in . MatchCase=False za razločevanje velikih in malih črk tekma.
Poskusimo na primer poiskati knjigo "mati" v Ime knjige stolpec ( B4:B13 ).
Če v vrstici kode uporabimo True:
Set cell = Range("B4:B13").Find("mati", MatchCase:=True)
V izpisu bo prikazana napaka, ker ne bo našla nobenega ujemanja.
Če uporabljate:
Set cell = Range("B4:B13").Find("mati", MatchCase:=False)
Nato se vrne $B$9 ker obstaja knjiga z imenom "Mati" v celici B8 .
Tako je celotna koda za razločevanje velikih in malih črk tekma je:
⧭ Koda VBA:
Sub Find() Set cell = Range("B4:B13").Find("Mother", MatchCase:=False) MsgBox cell.Address End Sub
Zaključek
S temi metodami lahko uporabite funkcijo Find v aplikaciji Visual Basic. Imate kakšno vprašanje? Vprašajte nas.