Com utilitzar la funció de cerca a VBA (6 exemples)

  • Comparteix Això
Hugh West

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.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.