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

Funcția de căutare Excel VBA

Căutarea este funcția care ne ajută să preluăm datele din tabelul principal pe baza unei singure valori de căutare. Funcția VBA LOOKUP nu necesită astfel de structuri de date, pentru funcția LOOKUP nu contează dacă coloana de rezultate este la dreapta sau la stânga valorii de căutare, totuși, poate prelua datele confortabil.

Acest lucru funcționează similar cu funcția VLOOKUP, dar, mai important, este flexibil într-o structură de date. Când spunem flexibil în structura datelor, înseamnă că VLOOKUP are nevoie de toate valorile din dreapta unei valori de căutare din tabelul principal și orice lucru rămas valorii de căutare VLOOKUP nu o poate găsi.

Sintaxă

Dacă ați căutat deja formula LOOKUP în editorul VBA, sunt sigur că v-ați înnebunit deoarece există o formulă numită LOOKUP în VBA.

Motivul pentru care nu este disponibil în mod implicit, deoarece LOOKUP nu este mai degrabă o funcție VBA, este o funcție de foaie de lucru. Deci, pentru a utiliza funcția de căutare, trebuie să folosim mai întâi funcția de foaie de lucru în clasa VBA.

  • Arg 1 înseamnă valoare de căutare
  • Arg 2 este vectorul nostru de căutare, adică intervalul coloanei valorii noastre de căutare
  • Arg 3 este vectorul nostru de rezultat.

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

Exemplul nr. 1

Avem următoarele date din care dorim să obținem prețul mediu al unui anumit nume de produs utilizând funcția Căutare în VBA Excel.

Pentru a obține prețul mediu al accesoriilor mobile, utilizați următorul cod.

Pasul 1: Porniți subprocedura în VBA.

Cod:

Sub Căutare_Exemplu1 () Încheiere sub

Pasul 2: Am nevoie de rezultat în celula F3. Deci, codul meu este Range („F3”). Valoare =.

Cod:

Sub Căutare_Exemplu1 () Interval ("F3"). Valoare Sfârșit Sub

Pasul 3: După cum am spus, nu am putut accesa imediat funcția de căutare. Deci, mai întâi, utilizați clasa Funcția Foaie de lucru.

Pasul 4: În momentul în care aplicăm clasa Funcția Foaie de lucru, putem vedea toate formulele disponibile cu această clasă în VBA, deci selectați CĂUTARE din această listă.

Pasul 5: Cu funcțiile foii de lucru în VBA, nu vedem argumente clare ale formulei. Aici Arg 1 înseamnă valoare de căutare. Valoarea noastră de căutare se află în celula E3, deci scrieți codul ca Range („E3”).

Cod:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Pasul 6: Arg 2 este vectorul nostru de căutare, adică gama coloanei valorii noastre de căutare. În acest exemplu, gama noastră de vectori de căutare este de la B3 la B10.

Cod:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Pasul 7: Arg 3 este vectorul nostru de rezultat. Avem nevoie de rezultatul din coloana Preț mediu, deci vectorul rezultatului este de la intervalul C3 la C10.

Cod:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Ok, am terminat cu codificarea VBA.

Să rulăm codul și ar trebui să obținem rezultatul în celula F3.

Astfel, putem folosi funcția LOOKUP din clasa funcției foii de lucru pentru a prelua datele din valoarea de căutare furnizată.

Exemplul nr. 2

Utilizați variabile pentru funcția de căutare

Folosind variabile, de asemenea, putem obține rezultate. Mai jos este exemplul de cod al funcției de căutare cu variabile.

Cod:

Sub Lookup_Example2 () Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range ("F3") Set LookupValueCell = Range ("E3") Set LookupVector = Range ("B3: B10") Set ResultVector = Range ("C3: C10") ResultCell = WorksheetFunction.Lookup (LookupValueCell, LookupVector, ResultVector) End Sub

Chiar dacă pare lung, va oferi o expunere bună la variabilele din VBA. În loc să furnizăm direct toate valorile formulei, am declarat variabile și le-am atribuit un set de intervale și valori.

Declararea variabilelor și setarea referinței la aceste variabile este întotdeauna o bună practică în orice limbaj de codificare.

Lucruri de amintit

  • LOOKUP este o funcție alternativă la VLOOKUP.
  • CĂUTAREA nu necesită neapărat ca coloana de rezultate să fie la dreapta valorii căutării.
  • Lungimea intervalului atât a vectorului de căutare, cât și a vectorului de rezultat ar trebui să fie aceeași.
  • Mai important, trebuie să furnizăm un număr de index de coloană, care este necesar pentru funcția VLOOKUP.

Articole interesante...