Uporaba funkcije Find v programu VBA (6 primerov)

  • Deliti To
Hugh West

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.xlsm

6 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.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.