Funkcija za iskanje v Excelu VBA

V excelu smo VLookup uporabljali že večkrat. Tam je funkcija Insert, ki se uporablja za pridobivanje ali preslikavo poljubnih vrednosti. Podobno imamo v VBA aplikacijo Lookup, ki deluje enako kot Excel Vlookup. VBA Lookup ima fleksibilno strukturo podatkov, saj se lahko uporablja za preslikavo poljubne vrednosti iz poljubnih matričnih tabel. To pomeni, da če uporabimo Excel Vlookup, podatkov desnega stolpca ne bomo mogli preslikati s podatki levega stolpca v eni sintaksi. Medtem ko v VBA Lookup ni ustrezne strukture preslikave. Moramo samo slediti skladnji VBA Lookup. Če je skladnja zadovoljena in pravilno uokvirjena, lahko vrednosti preberemo z desne ali leve strani tabele.

Sintaksa funkcije iskanja VBA:

Kje,

  • Arg1 = vrednost, ki jo želimo iskati.
  • Arg2 = obseg stolpcev ali tabele, od koder želimo iskati .
  • Arg3 = Rezultat kot Boolean ali Vector.

Kako uporabljati funkcijo iskanja v Excelu VBA?

Spoznali bomo, kako z uporabo VBA kode uporabljati funkcijo Lookup v Excelu.

Predlogo za VBA Lookup Excel lahko prenesete tukaj - VBA Predloga za Excel predlogo

Iskanje VBA - Primer 1

Obstaja veliko načinov za pisanje kode za iskanje VBA. V tem primeru bomo videli preprost način za zapis VBA Lookup-a. Za to imamo nabor podatkov, kot je prikazano spodaj. Ta tabela ima število dirk in povprečno hitrost dirkačev. Zdaj bomo te podatke uporabili za uporabo VBA Lookup v spodnji tabeli z modrimi glavami v A8 do B8. Za to sledite spodnjim korakom:

1. korak: Odprite modul na zavihku menija Vstavljanje, kot je prikazano spodaj.

2. korak: V ta modul napišite podprocesuro za opravljeno delo. Tu smo ime izbrali kot VBA Lookup.

Koda:

 Pod VBA_Lookup1 () Konec pod 

3. korak: Izberite izhodno celico, kjer moramo videti vrednost iskanja. Tu je ta celica B9, kjer bomo iskali vrednost z imenom "Aniket", ki je naša vrednost iskanja.

Koda:

 Pod VBA_Lookup1 () Obseg ("B9"). Vrednost Konec Pod 

4. korak: Zdaj bomo uporabili funkcijo delovnega lista in na seznamu, kot je prikazano spodaj, izberite Lookup funkcijo.

Koda:

 Pod VBA_Lookup1 () Obseg ("B9") Vrednost = WorksheetFunction.Lookup End Sub 

Korak 5: Ko izberemo funkcijo Iskanje, bomo videli Arg1, Arg2 in Arg3 v njeni sintaksi. Zato bomo namesto Arg1 najprej postavili območje vrednosti Lookup, ki je celica A9.

Koda:

 Pod VBA_Lookup1 () Obseg ("B9"). Vrednost = WorksheetFunction.Lookup (obseg ("A9"). Vrednost, konec Pod 

6. korak: Zdaj za Arg2 izberite območje iskanja, ki je iz celice A2: A5.

Koda:

 Pod VBA_Lookup1 () Obseg ("B9") Vrednost = WorksheetFunction.Lookup (obseg ("A9"). Vrednost, obseg ("A2: A5"), konec Pod 

Korak 7: Končno izberite območja vrednosti za iskanje, ki je od B2 do B5 namesto Arg3.

Koda:

 Pod VBA_Lookup1 () Obseg ("B9") Vrednost = WorksheetFunction.Lookup (obseg ("A9"). Vrednost, obseg ("A2: A5"), obseg ("B2: B5")) End Sub 

8. korak: Zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Play, ki se nahaja pod menijskim trakom. Po iskanju bomo videli, da je število dirk z imenom "Aniket" 7.

Iskanje VBA - primer # 2

Obstaja še en način uporabe funkcije iskanja v Excelu VBA. Za to bomo uporabili iste podatke, kot smo jih videli v primeru-1. Za to sledite spodnjim korakom:

1. korak: Zapišite podprocesuro za iskanje VBA, kot je prikazano spodaj.

Koda:

 Pod VBA_Lookup2 () Konec pod 

2. korak: Določite spremenljivko kot niz, ki bo uporabljen za preslikavo stolpca Ime.

Koda:

 Pod VBA_Lookup2 () Zatemnjeno ime kot konec niza Sub 

3. korak: V definirani spremenljivki Ime bomo uporabili aplikacijo Vlookup, kot je prikazano spodaj.

Koda:

 Pod VBA_Lookup2 () Dim ime kot ime niza = Application.VLookup (End Sub 

4. korak: Recimo, da je naša vrednost za iskanje iz tabele imenovana »Ashwani«.

Koda:

 Pod VBA_Lookup2 () Dim ime kot ime niza = Application.VLookup ("Ashwani", End Sub 

5. korak: In razpon je od A1 do C6 od Sheet1.

Koda:

 Pod VBA_Lookup2 () Dim ime kot ime niza = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), konec pod 

6. korak: Če želimo tukaj videti povprečno hitrost kolesarja "Ashwani", moramo celico preslikati v sintakso Lookup, ki je na 3. mestu.

Koda:

 Pod VBA_Lookup2 () Dim ime kot ime niza = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

7. korak: Da bi videli povprečno hitrost kolesarja "Ashwani", lahko uporabimo MsgBox in Debug Print. Toda uporaba Debug Print je veliko boljša od MsgBox-a. Torej dodelite odpravljanje napak z definirano spremenljivko Ime.

Koda:

 Pod VBA_Lookup2 () Dim ime kot ime niza = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

8. korak: Zdaj odprite takojšnje okno, ki je na zavihku menija Pogled, da vidite izhod.

9. korak: Sestavite kodo in jo zaženite. Videli bomo, Lookup je preslikal s hitrostjo Ashwanija in to prestavil v takojšnje okno kot 86 .

Koda:

 Pod VBA_Lookup2 () Dim ime kot ime niza = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Iskanje VBA - primer # 3

Za uporabo funkcije iskanja v excelu VBA sledite spodnjim korakom:

1. korak: Zapišite podprocesuro za iskanje VBA, kot je prikazano spodaj.

Koda:

 Pod VBA_Lookup3 () Konec pod 

2. korak: Označite spremenljivko za Ime kot niz, kot je prikazano spodaj.

Koda:

 Pod VBA_Lookup3 () Zatemnjeno ime kot konec niza Sub 

Korak 3: Zdaj dodelite ime, ki ga želite poiskati, definirani spremenljivki Ime, kot je prikazano spodaj.

Koda:

 Sub VBA_Lookup3 () Dim ime kot ime niza = "Deepinder" Konec pod 

4. korak: Zdaj določite katero koli besedo, da določite in uporabite Lookup, recimo LUp . In pri tem uporabite funkcijo delovnega lista z Vlookupom, kot je prikazano spodaj.

Koda:

 Pod VBA_Lookup3 () Dim ime kot ime niza = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Povprečna hitrost je:" & LUp End Sub 

5. korak: Zdaj uporabite isto sintakso Vlookup, kot jo uporabljamo v Excelu. V Arg1 postavimo spremenljivko Name, nato izberemo matriko obsega in poiščemo vrednost, ki jo želimo dobiti. Tu je ta stolpec 3, kot je prikazano spodaj.

Koda:

 Pod VBA_Lookup3 () Dim ime kot ime niza = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Ime, Sheet1.Range ("A2: C6"), 3, napačno) MsgBox "Srednja hitrost je:" & LUp End Sub 

6. korak: Zdaj uporabite MsgBox za prikaz izhoda.

Koda:

 Pod VBA_Lookup3 () Dim ime kot ime niza = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Ime, Sheet1.Range ("A2: C6"), 3, napačno) MsgBox "Srednja hitrost je:" & LUp End Sub 

7. korak: Sestavite in zaženite kodo. Videli bomo, da za ime "Deepinder" povprečna hitrost znaša 88. Medtem ko je enaka vrednost navedena za ime Deepinder v tabeli.

Koda:

 Pod VBA_Lookup3 () Dim ime kot ime niza = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Ime, Sheet1.Range ("A2: C6"), 3, napačno) MsgBox "Srednja hitrost je:" & LUp End Sub 

Prednosti funkcije iskanja v Excelu VBA

  • Je tako enostaven za uporabo in izvedbo kot uporaba regularnih formul Vlookup excel v Excelu.
  • V VBA Lookup lahko uporabimo poljubno območje in matrico.
  • Med uporabo VBA Lookup je omejitev zelo malo ali jih ni.

Stvari, ki jih je treba zapomniti

  • Iskanje lahko namesto Vlookupa uporabimo v vsaki situaciji.
  • Razpon za iskanje in vektor iskanja morata biti enaka.
  • Ko končate aplikacijo, shranite datoteko kot makro Omogoči obliko, da obdrži kodo.
  • Ni obvezne zahteve, da se stolpec z rezultatom vsakič postavi na desno od vrednosti iskanja.

Priporočeni članki

To je vodnik za funkcijo iskanja VBA. Tukaj smo razpravljali o uporabi funkcije Iskanje v Excelu VBA skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Zbirka VBA (primeri)
  2. VBA IF Izjave | Predloge Excel
  3. Kako uporabljati funkcijo razvrščanja Excel VBA?
  4. VBA, medtem ko je zanka (primeri s predlogo Excel)
  5. VBA Environment

Kategorija: