Kuidas kasutada funktsiooni Find VBAs (6 näidet)

  • Jaga Seda
Hugh West

Üks kõige tähtsamaid ja laialdaselt kasutatavaid funktsioone, mida me kasutame Visual Basic rakendus (VBA) on funktsioon Find. Selles artiklis näitan teile, kuidas saate kasutada funktsiooni FIND funktsioon Excelist koos asjakohaste näidete ja illustratsioonidega.

Lae alla praktiline töövihik

Funktsiooni leidmine VBAs Excel.xlsm'is

6 kiiret näidet funktsiooni FIND kasutamiseks VBAs

Siin on meil andmekogum koos Raamatu nimed, autorid ja Hinnad mõned raamatud raamatupoest nimega Martin Bookstore.

Täna on meie eesmärk näha erinevaid kasutusviise Leia funktsioon aadressilt VBA sellest andmekogumist.

1. Kasutage VBAs funktsiooni Find ilma parameetrita

Võite kasutada Leia funktsioon aadressilt VBA ilma parameetriteta.

Seejärel otsib see konkreetse väärtuse rakkude vahemikust ja tagastab esimese leitud vaste.

Otsime nime "P. B. Shelly" veerus Autor ( C4:C13 ).

Rida koos Leia funktsioon on:

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

Täielik VBA kood on:

VBA kood:

 Sub Find() Set cell = Range("C4:C17").Find("P. B. Shelly") MsgBox cell.Address End Sub 

Väljund:

See toodab Makro nimega Leia Kui te käivitate makro, annab see tagasi $C$6 , esimese lahtri aadressi nimi P. B. Shelly .

Loe edasi: VBAga vahemikus leidmine Excelis: sealhulgas täpsed ja osalised vasted

2. Rakendage VBA-s Find-funktsiooni parameetriga After (Et alustada otsingut konkreetsest lahtrist).

Võite kasutada Pärast parameetriga Leia funktsioon aadressil VBA . Seejärel hakkab see otsima väärtust vahemikus oleva lahtri alt.

Näiteks alustame otsingut nimega "P. B. Shelly" allpool olevast lahtrist C6 .

Koodirida on järgmine:

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

Ja täielik VBA kood on:

VBA kood:

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

Väljund:

See tagastab $C$13 sest see alustab otsingut allpool olevast lahtrist C6 , mis on pärit rakkudest C7 . Nii et see saab P. B. Shelly lahtris C13 esimene.

Loe edasi: Kuidas leida string rakus, kasutades VBA-d Excelis

3. Käivita VBA funktsioon Find koos Wrapping ümber After parameetri (Et otsida väärtust ringikujuliselt)

The Pärast parameetriga Leia funktsioon otsib väärtust ringikujuliselt

See tähendab, et see alustab otsingut vahemikus oleva lahtri altpoolt, lõpetab otsingu vahemikus ja alustab seejärel uuesti vahemiku ülemisest osast.

Näiteks alustame otsingut nimega "John Keats" allpool olevast lahtrist C8 kasutades Pärast parameeter.

Koodirida on järgmine:

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

Ja täielik VBA kood on:

VBA kood:

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

Väljund:

See tagastab $C$7 sest see alustab otsingut allpool olevast lahtrist C8 , mis on pärit rakkudest C9 .

See ei leia midagi kuni raku C13 , nii et see algab jälle rakust C4 ja leiab ühe lahtrist C7 .

Sarnased lugemised:

  • Kuidas leida string VBA-ga Excelis (8 näidet)
  • Leia täpne vaste VBA abil Excelis (5 võimalust)
  • Kuidas leida ja asendada VBA abil (11 võimalust)

4. Kasutage VBA funktsiooni Find koos LookAt parameetriga (täpse või osalise kokkulangevuse jaoks).

Võite kasutada Leia funktsioon aadressil VBA koos LookAt parameeter.

Kasutage LookAt = xlWhole jaoks Täpne mängu ja LookAt=xlPart jaoks Osaline mängu.

Proovime näiteks välja selgitada, kas on olemas mõni raamat nimega "Ood" aastal Raamatu nimi veerg ( B4:B13 ).

Kui me kasutame xlTäielik koodireas:

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

Väljund näitab viga, sest see ei leia ühtegi täpne mängu.

Aga kui te kasutate:

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

Siis naaseb see $B$9 , sest on olemas raamat nimega "Ood" selles lahtris B7 , Ood ööbikule.

Seega on kogu kood osaline mängu on:

VBA kood:

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

5. Find-funktsiooni kasutamine VBA-s SearchDirection parameetriga (otsingu suuna määramiseks)

Võite kasutada ka Leia funktsioon aadressil VBA koos SearchDirection parameeter.

Kasutage SearchDirection = xlNext otsimiseks alates Ülalt alla .

Ja SearchDirection = xlPrevious otsimiseks alates Altpoolt ülespoole .

Proovime näiteks leida Autori Elif Shafak veerus Autor ( C4:C13 ).

Kui me kasutame xlNext koodireas:

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

Siis tagastab see $C$5 .

Aga kui te kasutate:

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

Siis naaseb see $C$11 .

Nii et täielik kood otsingu jaoks alates alt üles on:

VBA kood:

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

6. Find-funktsioon VBAs koos MatchCase-parameetriga (Case-Sensitive või Insensitive Match jaoks)

Lõpuks saate kasutada Leia funktsioon koos MatchCase parameeter.

Kasutage MatchCase = True jaoks suur- ja väiketähelepanu mängu , ja MatchCase=False jaoks suur- ja väiketähelepanuta mängu.

Proovime näiteks leida raamatu "ema" aastal Raamatu nimi veerg ( B4:B13 ).

Kui me kasutame koodireas True:

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

Väljund näitab viga, sest see ei leia ühtegi vastet.

Aga kui te kasutate:

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

Siis naaseb see $B$9 sest on olemas raamat nimega "Ema" lahtris B8 .

Seega on kogu kood suur- ja väiketähelepanuta mängu on:

VBA kood:

 Sub Find() Set cell = Range("B4:B13").Find("Mother", MatchCase:=False) MsgBox cell.Address End Sub 

Kokkuvõte

Nende meetodite abil saate kasutada Visual Basici rakenduses Find funktsiooni. Kas teil on küsimusi? Küsige julgelt.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.