Enhavtabelo
Unu el la plej gravaj kaj vaste uzataj funkcioj, kiujn ni uzas en Vida Baza Apliko (VBA) , estas la Trovu funkcio. En ĉi tiu artikolo, mi montros al vi kiel vi povas uzi la TROVU-funkcion de Excel kun taŭgaj ekzemploj kaj ilustraĵoj.
Elŝutu Praktikan Laborlibron
Trovu Funkcion en VBA en Excel.xlsm
6 Rapidaj Ekzemploj por Uzi la Funkcion FIND en VBA
Jen ni havas akiris datumon kun la Libronomoj, Aŭtoroj kaj Prezoj de kelkaj libroj de librovendejo nomata Martin Bookstore.
Hodiaŭ nia celo estas vidi diversajn specojn de uzo de la Trovu funkcio de VBA el ĉi tiu datumaro.
1. Uzu la Funkcion Trovi en VBA sen Parametro
Vi povas uzi la Trovi funkcion de VBA sen parametroj.
Tiam ĝi serĉos specifan valoron ene de gamo da ĉeloj kaj redonos la unuan kongruon kiun ĝi trovas.
Ni serĉu la nomon “P. B. Shelly” en la kolumno Aŭtoro ( C4:C13 ).
La linio kun la Trovu funkcio estos:
Set cell = Range("C4:C17").Find("P. B. Shelly")
La kompleta VBA-kodo estos:
⧭ VBA-Kodo:
4131
⧭ Eligo:
Ĝi produktas Makro nomata Trovu . Se vi rulas la Makroon, ĝi resendos $C$6 , la unuan ĉelan adreson kun la nomo P. B. Shelly .
Legu pli: Trovu ene de Intervalo kun VBA enExcel: Inkluzivanta Precitajn kaj Partajn Kongruojn
2. Apliki la Trovu Funkcion en VBA kun la Parametro Post (Por Komenci Serĉi el Specifa Ĉelo)
Vi povas uzi la parametron Post kun la Trovi funkcio en VBA . Tiam ĝi komencos serĉi valoron el sub ĉelo ene de intervalo.
Ekzemple, ni komencu serĉi la nomon “P. B. Shelly” de malsupre ĉelo C6 .
La linio de kodo estos:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
Kaj la kompleta VBA-kodo estos:
⧭ VBA-kodo:
6815
⧭ Eligo:
Ĝi redonos $C$13 ĉar ĝi komencas serĉi el sub ĉelo C6 , tio estas el ĉelo C7 . Do ĝi ricevas P. B. Shelly en ĉelo C13 unue.
Legu pli: Kiel Trovi Ŝnuron en Ĉelo Uzante VBA en Excel
3. Rulu la Funkcion Trovi en VBA kun Envolvado ĉirkaŭ la Parametro Post (Por Serĉi Valoron en Cirkla Maniero)
La parametro Post kun la Trovu funkcio serĉas valoron en cirkla maniero
Tio estas, ĝi komencas serĉi de malsupre ĉelo ene de intervalo, finas serĉadon en la intervalo, kaj poste denove komenciĝas de la supro de la intervalo.
Ekzemple, ni komencu serĉi la nomon “John Keats” el sub ĉelo C8 uzante la parametron Post .
La linio de kodo estos:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Kaj lakompleta VBA-kodo estos:
⧭ VBA-kodo:
1892
⧭ Eligo:
Ĝi redonos $C$7 ĉar ĝi komencas serĉi el sub ĉelo C8 , tio estas de ĉelo C9 .
Ĝi trovas nenion ĝis ĉelo C13 , do ĝi denove komenciĝas de ĉelo C4 kaj trovas unu en ĉelo. C7 .
Similaj legaĵoj:
- Kiel trovi ĉenon kun VBA en Excel (8 Ekzemploj)
- Trovu Precizan Kongruon Uzante VBA en Excel (5 Manieroj)
- Kiel Trovi kaj Anstataŭigi Uzanta VBA (11 Vojoj)
4. Uzu la Funkcion Trovi en VBA kun la Parametro LookAt (Por Ekzakta aŭ Parta Kongruo)
Vi povas uzi la Trovi funkcion en VBA kun la LookAt parametro.
Uzu LookAt = xlWhole por Preciza kongruo, kaj LookAt=xlPart por Parta kongruo.
Ekzemple, ni provu eltrovi ĉu estas iu libro kun la nomo “Odo” en la Libronomo kolumno ( B4:B13 ).
Se ni uzas xlWhole en la linio de kodo:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
La eligo montros eraron ĉar ĝi ne trovos ajnan ĝustan kongruon.
Sed se vi uzas:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Tiam ĝi revenos $B$9 , ĉar estas libro kun la nomo “Odo” en ĝi en ĉelo B7 , Odo al la Najtingalo.
Do la kompleta kodo por la parta kongruoestas:
⧭ VBA-Kodo:
7698
5. Funkcii la Trovi Funkcion en VBA kun SearchDirection Parametro (Por Specifi la Direkton de la Serĉo)
Vi ankaŭ povas uzi la Trovi funkcion en VBA kun la Parametro SearchDirection .
Uzu SearchDirection = xlSekva por serĉi de Supre ĝis Malsupre .
Kaj SearchDirection = xlAntaŭa por serĉado de Malsupre ĝis Supre .
Ekzemple, ni provu trovi la Aŭtoron Elif Shafak en la kolumno Aŭtoro ( C4:C13 ).
Se ni uzas xlNext en la linio de kodo:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Tiam ĝi redonos $C$5 .
Sed se vi uzas:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Tiam ĝi revenos $C$11 .
Do la kompleta kodo por serĉi de malsupre ĝis supro estas:
⧭ VBA-Kodo:
2913
6. Trovu Funkcion en VBA kun MatchCase Parametro (Por Majuskla aŭ Nesentema Match)
Fine, vi povas uzi la Trovi funkcion kun la parametro MatchCase .
Uzu MatchCase = Vera por majuskle-distinga kongruo , kaj MatchCase=Malvera por uskle-nesensebla kongruo.
Ekzemple, ni provu trovi la libron “patrino” en la kolumno Libronomo ( B4:B13 ).
Se ni uzas Veran en la linio de kodo:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
La eligo montros eraron ĉar ĝi faros' ne trovas iun ajnkongruo.
Sed se vi uzas:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Tiam ĝi revenos $ B$9 ĉar estas libro nomita “Patrino” en ĉelo B8 .
Do la kompleta kodo por la kongruo majuskkle estas:
⧭ VBA-Kodo:
1977
Konkludo
Uzante ĉi tiujn metodojn, vi povas uzi la Funkcion Trovi en Visual Basic Apliko. Ĉu vi havas demandojn? Bonvolu demandi nin.