Hoe kinne jo de Fynfunksje brûke yn VBA (6 foarbylden)

  • Diel Dit
Hugh West

Ien fan 'e wichtichste en meast brûkte funksjes dy't wy brûke yn Visual Basic Application (VBA) is de Find-funksje. Yn dit artikel sil ik jo sjen litte hoe't jo de FIND-funksje fan Excel brûke kinne mei goede foarbylden en yllustraasjes.

Download Oefenwurkboek

Funksje fine yn VBA yn Excel.xlsm

6 rappe foarbylden om de FYN-funksje yn VBA te brûken

Hjir hawwe wy krige in gegevensset mei de Boeknammen, Auteurs en Prizen fan guon boeken fan in boekhannel mei de namme Martin Bookstore.

Hjoed ús doel is om ferskate soarten gebrûk te sjen fan de Fynfunksje fan VBA út dizze dataset.

1. Brûk de Fynfunksje yn VBA sûnder parameter

Jo kinne de Fynfunksje fan VBA sûnder parameters brûke.

Dan sil sykje nei in spesifike wearde binnen in berik fan sellen en weromjaan de earste wedstriid dy't fynt.

Litte wy sykje nei de namme "P. B. Shelly” yn de kolom Author ( C4:C13 ).

De rigel mei de Fynfunksje sil wêze:

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

De folsleine VBA-koade sil wêze:

VBA-koade:

1665

Utfier:

It produseart in Makro neamd Fyn . As jo ​​de makro útfiere, sil it $C$6 weromjaan, it earste seladres mei de namme P. B. Shelly .

Lês mear: Fyn binnen in berik mei VBA ynExcel: Ynklusyf eksakte en diellike oerienkomsten

2. Tapasse de Fynfunksje yn VBA mei de After-parameter (om te begjinnen mei sykjen fan in spesifike sel)

Jo kinne de parameter After brûke mei de Fynfunksje yn VBA . Dan sil it begjinne te sykjen nei in wearde fan ûnderen in sel binnen in berik.

Bygelyks, litte wy begjinne te sykjen nei de namme "P. B. Shelly” fan ûnderen sel C6 .

De rigel fan koade sil wêze:

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

En de folsleine VBA-koade sil wêze:

VBA-koade:

6902

Utfier:

It sil weromkomme $C$13 omdat it begjint te sykjen fan ûnderen sel C6 , dat is fan sel C7 . Sa wurdt it P. B. Shelly yn sel C13 earst.

Lês mear: How to Find String in a Sel mei VBA yn Excel

3. Rinne de Fynfunksje út yn VBA mei Wrapping om de After-parameter (Om in wearde op in sirkulêre manier te sykjen)

De After -parameter mei de Fynfunksje siket nei in wearde op in sirkelfoarmige manier

Dat is, it begjint te sykjen fan ûnderen in sel binnen in berik, einiget mei sykjen yn it berik, en begjint dan wer fanôf de boppekant fan it berik.

Litte wy bygelyks begjinne mei it sykjen fan de namme “John Keats” fan ûnder sel C8 mei de parameter After .

De rigel fan koade sil wêze:

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

En defolsleine VBA-koade sil wêze:

VBA-koade:

1484

Utfier:

It sil $C$7 weromjaan, om't it begjint te sykjen fan ûnder sel C8 , dat is fan sel C9 .

It fynt neat oant sel C13 , dus it begjint wer fan sel C4 en fynt ien yn sel C7 .

Gelykbere lêzings:

  • Hoe kinne jo string fine mei VBA yn Excel (8 foarbylden)
  • Fyn eksakte oerienkomst mei VBA yn Excel (5 manieren)
  • Hoe kinne jo fine en ferfange mei VBA (11) Ways)

4. Brûk de Fynfunksje yn VBA mei de LookAt-parameter (foar eksakte of foar in part oerienkomst)

Jo kinne de Fynfunksje brûke yn VBA mei de LookAt parameter.

Brûk LookAt = xlWhole foar in Eksakte oerienkomst, en LookAt=xlPart foar in Partial oerienkomt.

Lit ús bygelyks besykje út te finen oft der in boek is mei de namme “Ode” yn de Boeknamme kolom ( B4:B13 ).

As wy xlWhole brûke yn 'e rigel fan koade:

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

De útfier sil in flater sjen litte omdat it gjin eksakte oerienkomst sil fine.

Mar as jo brûke:

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

Dan komt it werom $B$9 , om't der in boek mei de namme “Ode” yn sit yn sel B7 , Ode oan de Nachtegaal.

Dus de folsleine koade foar de diellike wedstriidis:

VBA-koade:

7492

5. Betsjinje de Fynfunksje yn VBA mei SearchDirection Parameter (Om de rjochting fan it sykjen op te jaan)

Jo kinne ek de Fynfunksje brûke yn VBA mei de SearchDirection parameter.

Brûk SearchDirection = xlNext foar sykjen fan Boppe nei ûnderen .

En SearchDirection = xlPrevious foar sykjen fan Onder to Top .

Litte wy bygelyks besykje de Auteur Elif Shafak te finen yn de kolom Author ( C4:C13 ).

As wy xlNext brûke yn 'e rigel fan koade:

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

Dan sil it $C$5 weromjaan.

Mar as jo brûke:

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

Dan sil it werom $C$11 .

Dus de folsleine koade foar sykjen fan ûnder nei boppe is:

VBA-koade:

3346

6. Funksje fine yn VBA mei MatchCase-parameter (foar saakgefoelige of ûngefoelige wedstriid)

Ut lêst kinne jo de Fynfunksje mei de parameter MatchCase brûke.

Gebrûk MatchCase = Wier foar in hoofdlettergefoelige match , en MatchCase=False foar in case-insensitive match.

Litte wy bygelyks besykje it boek "mem" te finen yn 'e kolom Boeknamme ( B4:B13 ).

As wy True brûke yn 'e rigel fan koade:

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

De útfier sil in flater sjen litte om't it sil' t fine gjinmatch.

Mar as jo brûke:

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

Dan komt it werom $ B$9 omdat der in boek mei de namme "Mem" is yn sel B8 .

Dus de folsleine koade foar de case-insensitive wedstriid is:

VBA Code:

9051

Konklúzje

Mei dizze metoaden kinne jo de Find Function yn Visual Basic Application brûke. Hawwe jo noch fragen? Freegje it ús frij.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.