Funcția de căutare VBA | Cum se folosește funcția VBA Find? (Exemple)

Căutare Excel VBA

Când folosim Găsiți într-o foaie de lucru normală, apăsăm comanda rapidă de la tastatură CTRL + F și tastăm datele pe care trebuie să le găsim și dacă nu dorim valoarea, mergem la următoarea potrivire, dacă există o mulțime de astfel de potriviri este o sarcină plictisitoare, dar când folosim FIND în VBA, ne face sarcinile și ne oferă potrivirea exactă și este nevoie de trei argumente, unul este ce să găsim, unde să găsim și unde să ne uităm.

Înainte de a trece la VBA și a începe să folosim funcția de găsire în macrocomenzi, trebuie să aflăm mai întâi ce este o funcție de găsire în excel. În Excel normal în fila Acasă de sub grupul de editare, putem găsi o funcție de căutare care este utilizată pentru a găsi un șir sau o valoare într-un interval de celule sau întreaga foaie de lucru.

Când facem clic pe aceasta, avem două opțiuni;

Unul este simplu de găsit,

Putem vedea că are și un mod de opțiuni care deschide o altă caracteristică.

Face algoritmul de găsire cu patru constrângeri, Găsiți ce, Înăuntru, Căutați și căutați în.

A doua opțiune în Excel este Găsirea și înlocuirea care este utilizată atunci când găsim un șir, dar ce să îl înlocuim cu orice altă valoare,

Găsiți sintaxa funcției

Am învățat mai sus ce este Find in basic excel. În VBA scriem coduri manual, dar caracteristicile sunt aceleași ca și Excel excel. În primul rând, să ne uităm la sintaxă.

Expresie.Găsiți (Ce, căutați, ...)

Dacă valoarea pe care o căutăm se găsește cu funcția excel, ea returnează celula unde este valoarea și dacă valoarea nu este găsită, atunci obiectul funcției este setat la nimic.

Expresiile din macro-uri sunt intervale definite, cum ar fi intervalul 1 sau intervalul 2. Ce este un cuvânt cheie pentru ceea ce dorim să căutăm pentru o anumită valoare? Lookin este un cuvânt cheie pentru ceea ce încercăm să căutăm, este un comentariu sau o formulă sau un șir. În mod similar, există și alte constrângeri în funcția Găsire care sunt opționale. Singurul câmp obligatoriu necesar este valoarea pe care încercăm să o căutăm.

Practic, VBA consideră că Excel are un argument necesar, care este ce valoare dorim să căutăm. Restul constrângerilor sunt opționale și există multe constrângeri în funcția de găsire. Funcția de căutare este similară cu ceea ce este o funcție de căutare în Excel.

Parametrul pentru funcția de căutare este gama de celule. Ca în ce domeniu dorim să găsim o valoare. Poate fi câteva coloane sau câteva celule sau o foaie de lucru întreagă.

Exemple

Puteți descărca acest șablon Excel Funcție VBA FIND aici - Șablon Excel Funcție VBA FIND

Exemplul nr. 1

Să presupunem că datele noastre au următoarele valori

Vom încerca să găsim „Aran” în aceleași date.

  • Pentru a scrie un cod VBA este necesar să aveți activată fila dezvoltator în Excel pentru a putea scrie coduri VBA.

  • Începem să scriem codul nostru scriind următorul cod așa cum se arată mai jos,
Sub-eșantion ()

Diminuează căutările ca șir

Dim Rng As Range

FindS = InputBox („Introduceți valoarea pe care doriți să o căutați”)

Cu Foi de calcul („Foaie1”). Gama („A: A”)

  • Eșantionul este numele funcției dat sub.
  • Găsire este șirul pe care dorim să îl caute utilizatorul pe care dorim să îl introducem.
  • Rng este variabila pe care am luat-o pentru interval.
  • Acum cerem utilizatorului să introducă valoarea care arată ca imaginea de mai jos,

  • Acum vom defini funcția noastră de găsire în modul.

  • Funcția găsește valoarea introdusă de utilizator în intervalul dat.
  • Acum închidem funcția prin următoarele argumente.

  • Acum, dacă executăm mai întâi codul nostru, acesta solicită o solicitare de către utilizator pentru o valoare.

  • Odată ce codul este completat, acesta returnează celula unde au fost găsite datele.

Exemplul nr. 2

În exemplul de mai sus, existau patru nume unice, dar dacă ar exista mai multe nume în date, cum ar fi luarea în considerare a datelor de mai jos,

Putem vedea că numele Aran se repetă de două ori în datele de mai sus. Dacă Excel trebuie să găsească numele Aran, îl va găsi în celula A2 și se va opri, dar există o altă valoare similară cu cea a A2 din celula A6. Cum să obțineți această valoare? Aici vine în ajutor sintaxa Căutare (Ce, După).

After definește celula după care referință dorim să căutăm datele.

Să scriem codul pentru datele de mai sus.

  • Amintiți-vă întotdeauna să activați fila dezvoltator din opțiuni și apoi să personalizați panglica în Excel pentru a putea scrie codul în VBA.
  • În VBA obținem obiecte Microsoft Excel, care este un modul în care scriem codurile.

  • Anterior lucram la foaia 1 acum lucrăm la foaia 2, așa că selectați foaia 2 pentru un alt modul și apare o pagină goală.

  • Acum începeți să scrieți codul definind mai întâi funcția ca SUB Sample2 () și apăsați Enter.

  • Acum ne-am definit funcția, vom începe să intrăm în partea principală care este definirea variabilelor noastre.

  • Definiți ce ar trebui să aibă variabila Găsiți,

  • Selectați foile la care lucrăm, care este foaia 2 în acest exemplu,

  • Acum vom găsi textul pe care îl introduce utilizatorul după celula A2, deci definim funcția noastră de găsire după cum urmează,

  • Acum închidem codul încheind condițiile cu și dacă.

Ceea ce face codul de mai sus este căutarea șirului după celula A2 și returnarea celulei oriunde este găsită.

Lucruri de amintit

  1. Mai întâi, trebuie să activăm fila dezvoltator pentru a utiliza VBA.
  2. Care este valoarea specifică pe care trebuie să o găsim?
  3. Dacă valoarea nu este găsită, obiectul funcției este setat la nimic.