Taula de continguts
Una de les funcions més importants i àmpliament utilitzades que fem servir a l' Aplicació Visual Basic (VBA) és la funció Cerca. En aquest article, us mostraré com podeu utilitzar la funció TROBA d'Excel amb exemples i il·lustracions adequats.
Descarregueu el quadern de pràctiques
Troba la funció a VBA a Excel.xlsm
6 exemples ràpids per utilitzar la funció FIND a VBA
Aquí tenim va obtenir un conjunt de dades amb els Noms dels llibres, els autors i els Preus d'alguns llibres d'una llibreria anomenada Martin Bookstore.
Avui. el nostre objectiu és veure diversos tipus d'usos de la funció de cerca de VBA a partir d'aquest conjunt de dades.
1. Utilitzeu la funció de cerca a VBA sense paràmetre
Podeu utilitzar la funció de cerca de VBA sense paràmetres.
A continuació, cercarà un valor específic dins d'un rang de cel·les i retornarà la primera coincidència que trobi.
Cerquem el nom “P. B. Shelly” a la columna Autor ( C4:C13 ).
La línia amb la funció de cerca serà:
Set cell = Range("C4:C17").Find("P. B. Shelly")
El codi VBA complet serà:
⧭ Codi VBA:
3840
⧭ Sortida:
Produeix un Macro anomenada Troba . Si executeu la macro, retornarà $C$6 , la primera adreça de cel·la amb el nom P. B. Shelly .
Llegir més: Troba dins d'un rang amb VBA aExcel: incloses les coincidències exactes i parcials
2. Apliqueu la funció de cerca a VBA amb el paràmetre After (per començar a cercar des d'una cel·la específica)
Podeu utilitzar el paràmetre Després amb la funció de cerca a VBA . Aleshores començarà a cercar un valor a sota d'una cel·la dins d'un interval.
Per exemple, comencem a cercar el nom “P. B. Shelly” de sota de la cel·la C6 .
La línia de codi serà:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
I el codi VBA complet serà:
⧭ Codi VBA:
2094
⧭ Sortida:
Retornarà $C$13 perquè comença a cercar des de la cel·la C6 , això és de la cel·la C7 . Així que es fa P. B. Shelly a la cel·la C13 primer.
Llegiu més: Com trobar una cadena en un Cel·la utilitzant VBA a Excel
3. Executeu la funció de cerca a VBA amb embolcall al voltant del paràmetre After (per cercar un valor de manera circular)
El paràmetre Després amb la funció de cerca cerca un valor de forma circular
És a dir, comença a cercar des de sota d'una cel·la dins d'un interval, acaba de cercar a l'interval i torna a començar des de la part superior de l'interval.
Per exemple, comencem a cercar el nom “John Keats” a sota de la cel·la C8 mitjançant el paràmetre Després .
La línia de el codi serà:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
I elEl codi VBA complet serà:
⧭ Codi VBA:
1425
⧭ Sortida:
Retornarà $C$7 perquè comença a cercar des de la cel·la C8 , que és de cel·la C9 .
No troba res fins a la cel·la C13 , de manera que torna a començar des de la cel·la C4 i en troba una a la cel·la. C7 .
Lectures similars:
- Com trobar cadena amb VBA a Excel (8 exemples)
- Trobar la concordança exacta amb VBA a Excel (5 maneres)
- Com trobar i substituir amb VBA (11 Maneres)
4. Utilitzeu la funció de cerca a VBA amb el paràmetre LookAt (per a la coincidència exacta o parcial)
Podeu utilitzar la funció de cerca a VBA amb el <1 Paràmetre>LookAt .
Utilitzeu LookAt = xlWhole per a una concordança exacta i LookAt=xlPart per a un Parcial coincideix.
Per exemple, intentem esbrinar si hi ha algun llibre amb el nom “Oda” a la columna Nom del llibre ( B4:B13 ).
Si fem servir xlWhole a la línia de codi:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
La sortida mostrarà un error perquè no trobarà cap coincidència exacta .
Però si feu servir:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Llavors tornarà $B$9 , perquè hi ha un llibre amb el nom “Oda” a la cel·la B7 , Oda al rossinyol.
Per tant, el codi complet per a la coincidència parcial és:
⧭ Codi VBA:
1394
5. Utilitzeu la funció de cerca a VBA amb el paràmetre SearchDirection (per especificar la direcció de la cerca)
També podeu utilitzar la funció de cerca a VBA amb el Paràmetre SearchDirection .
Utilitzeu SearchDirection = xlNext per cercar de De dalt a baix .
I SearchDirection = xlAnterior per cercar de A baix a dalt .
Per exemple, intentem trobar l'autor Elif Shafak a la columna Autor ( C4:C13 ).
Si fem servir xlNext a la línia de codi:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Llavors retornarà $C$5 .
Però si feu servir:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Llavors retornarà $C$11 .
Així que el codi complet per cercar de de baix a dalt és:
⧭ Codi VBA:
7387
6. Cerca la funció a VBA amb el paràmetre MatchCase (per a la concordança que distingeix entre majúscules i minúscules)
Finalment, podeu utilitzar la funció de cerca amb el paràmetre MatchCase .
Utilitzeu MatchCase = True per a una concordança que distingeix entre majúscules i minúscules i MatchCase=False per a concordança que no distingeix entre majúscules i minúscules.
Per exemple, intentem trobar el llibre “mare” a la columna Nom del llibre ( B4:B13 ).
Si fem servir True a la línia de codi:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
La sortida mostrarà un error perquè ho farà' no en trobo capcoincideix.
Però si feu servir:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Llavors tornarà $ B$9 perquè hi ha un llibre anomenat “Mare” a la cel·la B8 .
Així que el codi complet de la concordança no distingeix entre majúscules i minúscules és:
⧭ Codi VBA:
8176
Conclusió
Usant aquests mètodes, podeu utilitzar la funció Cerca a l'aplicació Visual Basic. Té vostè alguna pregunta? No dubteu a preguntar-nos.