Exceli VBA otsingufunktsioon

Excelis oleme VLookupi mitu korda kasutanud. Just seal funktsioonis Lisa saab kasutada soovitud väärtuste toomiseks või kaardistamiseks. Sarnaselt on VBA-s ka otsingu rakendus, mis töötab samamoodi nagu Excel Vlookup. VBA otsingul on paindlik andmestruktuur, kuna seda saab kasutada mis tahes väärtuste kaardistamiseks mis tahes tüüpi tabelimassiividest. See tähendab, et kui rakendame rakendust Excel Vlookup, siis ei saa me parema veeru andmeid vasaku veeru andmetega ühes süntaksis kaardistada. Kui VBA otsingus puudub kaardistamise õige struktuur. Peame lihtsalt järgima VBA otsingu süntaksi. Kui süntaks on rahul ja õigesti raamitud, saame väärtused tuua tabeli paremalt või vasakult servalt.

VBA otsingufunktsiooni süntaks:

Kus,

  • Arg1 = väärtus, mida tahame otsida .
  • Arg2 = veergude või tabeli vahemik, kust tahame otsida .
  • Arg3 = tulemus tõeväärtuse või vektorina .

Kuidas kasutada otsingufunktsiooni Excel VBA-s?

Õpime VBA-koodi abil Excelis otsimisfunktsiooni kasutama.

Selle VBA otsing Exceli malli saate alla laadida siit - VBA otsingu Exceli mall

VBA otsing - näide nr 1

VBA otsingukoodi kirjutamiseks on palju viise. Selles näites näeme lihtsat viisi VBA otsingu kirjutamiseks. Selleks on meil allpool näidatud andmekogum. Selles tabelis on esitatud võistluste arv ja võistlejate keskmine kiirus. Nüüd kasutame neid andmeid VBA otsingu rakendamiseks allolevas tabelis siniste päistega A8 kuni B8. Selleks toimige järgmiselt.

1. samm: avage moodul vahekaardil Lisa menüüst, nagu näidatud allpool.

2. samm: kirjutage sellesse moodulisse tehtud töö alamprotsess. Oleme siin valinud nime VBA otsinguks.

Kood:

 Alam VBA_Lookup1 () lõpp alam 

3. samm: valige väljundi lahter, kus peame otsimisväärtust nägema. See lahter on B9, kust otsitakse nime “Aniket” väärtus, mis on meie otsinguväärtus.

Kood:

 Alam VBA_Lookup1 () Vahemik ("B9"). Väärtus Lõpp Alam 

4. samm: Nüüd kasutame töölehe funktsiooni ja valime loendisse sisseehitatud otsingufunktsiooni nagu näidatud allpool.

Kood:

 Alam VBA_Lookup1 () vahemik ("B9"). Väärtus = WorksheetFunction.Lookup End Sub 

5. samm: kui oleme valinud funktsiooni Otsing, näeme selle süntaksis Arg1, Arg2 ja Arg3. Selleks paneme esmalt oma otsinguväärtuste vahemiku, milleks on Arg1 asemel lahter A9.

Kood:

 Alam VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, End Sub 

6. samm. Valige Arg2 jaoks otsinguvahemik lahtrist A2: A5.

Kood:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), End Sub 

7. samm: lõpuks valige otsinguväärtuste vahemikud Arg3 asemel B2 kuni B5.

Kood:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), Range ("B2: B5")) End Sub 

8. samm: käivitage kood, vajutades klahvi F5 või klõpsates menüüriba all asuvat nuppu Esita. Nagu otsingus nähakse, on nimega Aniket tehtud võistluste arv 7.

VBA otsing - näide nr 2

Excel VBA-s on veel üks viis otsingufunktsiooni rakendamiseks. Selleks kasutame samu andmeid, mida nägime näites 1. Selleks toimige järgmiselt.

1. samm: kirjutage alamprotsess VBA otsingu jaoks, nagu allpool näidatud.

Kood:

 Alam VBA_Lookup2 () lõpp alam 

2. samm: määratlege muutuja kui string, mida kasutatakse veeru Nimi kaardistamiseks.

Kood:

 Alam VBA_Lookup2 () Hämar nimi kui stringi lõpp-alam 

3. samm: Määratletud muutuja nimes rakendame Vlookupi rakendust, nagu allpool näidatud.

Kood:

 Alam VBA_Lookup2 () Hämar nimi stringi nimena = Application.VLookup (End Sub 

4. samm: Oletame, et meie otsinguväärtuse nimi on tabelis „Ashwani”.

Kood:

 Alam VBA_Lookup2 () Hämar nimi kui stringi nimi = Application.VLookup ("Ashwani", lõpp Sub 

5. samm: vahemik A1 kuni C6 on 1. leht.

Kood:

 Alam VBA_Lookup2 () Hämar nimi kui stringi nimi = Rakendus.VLookup ("Ashwani", leht1.Range ("A1: C6"), lõpp Sub 

6. samm: Kui tahame siin näha sõitja “Ashwani” keskmist kiirust, peame kaardistama lahtri otsingu süntaksis, mis asub 3. kohal.

Kood:

 Alam VBA_Lookup2 () Tühjenda nimi kui stringi nimi = Rakendus.VLookup ("Ashwani", leht1.Range ("A1: C6"), 3) End Sub 

7. samm. Nüüd, et näha sõitja “Ashwani” keskmist kiirust, saame kasutada nii MsgBoxi kui ka Silumisprinti. Kuid silumisprintimise kasutamine on palju parem kui MsgBox. Niisiis määrake silumisprind määratletud muutujaga Nimi.

Kood:

 Alam VBA_Lookup2 () Dim Name kui stringi nimi = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub Sub 

8. samm . Väljundi nägemiseks avage kohe vahetu aken, mis asub seal menüü vahekaardil Vaade .

9. samm: koostage kood ja käivitage see. Näeme, et otsing on kaardistanud Ashwani kiirusega ja viinud selle kohese akna juurde kui 86 .

Kood:

 Alam VBA_Lookup2 () Dim Name kui stringi nimi = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub Sub 

VBA otsing - näide nr 3

Exceli VBA-s otsingufunktsiooni kasutamiseks toimige järgmiselt.

1. samm: kirjutage alamprotsess VBA otsingu jaoks, nagu allpool näidatud.

Kood:

 Alam VBA_Lookup3 () lõpp alam 

2. samm: kuulutage nime muutuja stringiks nagu allpool näidatud.

Kood:

 Alam VBA_Lookup3 () Hämar nimi kui stringi lõpp-alam 

3. samm: määrake määratletud muutujale Nimi nimi, mida soovite otsida, nagu allpool näidatud.

Kood:

 Alam VBA_Lookup3 () Dim Name kui stringi nimi = "Deepinder" End Sub 

4. samm: kasutage otsingu määratlemiseks ja kasutamiseks suvalist sõna, mis lubab öelda LUp . Ja selle jaoks kasutage töölehe funktsiooni koos Vlookupiga, nagu allpool näidatud.

Kood:

 Alam VBA_Lookup3 () Pimendusnimi kui stringi nimi = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "Keskmine kiirus on:" & LUp End Sub 

5. samm: kasutage nüüd sama Vlookupi süntaksit, mida kasutame ka Excelis. Pange Arg1-sse muutuja Nimi, seejärel valige vahemiku maatriks ja otsige üles väärtus, mida me tahame saada. Siin on see veerg 3, nagu allpool näidatud.

Kood:

 Alam VBA_Lookup3 () Hämar nimi kui stringi nimi = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Nimi, Sheet1.Range ("A2: C6", 3, False) MsgBox "Keskmine kiirus on:" & LUp End Sub 

6. samm . Väljundi nägemiseks kasutage nüüd MsgBoxi.

Kood:

 Alam VBA_Lookup3 () Hämar nimi kui stringi nimi = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Nimi, Sheet1.Range ("A2: C6", 3, False) MsgBox "Keskmine kiirus on:" & LUp End Sub 

7. samm: koostage ja käivitage kood. Näeme, et nime “Deepinder” puhul on keskmine kiirus 88. Seevastu tabelis on sama väärtus antud nime Deepinder jaoks.

Kood:

 Alam VBA_Lookup3 () Hämar nimi kui stringi nimi = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Nimi, Sheet1.Range ("A2: C6", 3, False) MsgBox "Keskmine kiirus on:" & LUp End Sub 

Excel VBA otsingufunktsiooni plussid

  • Seda on sama lihtne kasutada ja rakendada kui tavaliste Exceli Vlookupi valemite kasutamist Excelis.
  • VBA otsingus saame kasutada mis tahes vahemikku ja maatriksit.
  • VBA otsimise rakendamisel on väga vähe piiranguid või puuduvad need üldse.

Asjad, mida meeles pidada

  • Saame kasutada otsingut Vlookupi asemel igas olukorras.
  • Otsinguvektori vahemik ja tulemusvektor peaksid olema samad.
  • Kui olete rakenduse lõpetanud, salvestage fail koodi säilitamiseks vormingus Makro Luba.
  • Pole kohustuslikku nõuet, et tulemuse veerg tuleb iga kord üles panna, et olla otsinguväärtuse paremal.

Soovitatavad artiklid

See on VBA otsimisfunktsiooni juhend. Siin arutatakse, kuidas kasutada Excel VBA otsimisfunktsiooni koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA kollektsioon (näited)
  2. VBA IF-avaldused | Exceli mallid
  3. Kuidas kasutada Exceli VBA sortimisfunktsiooni?
  4. VBA Kuigi silmus (näited Exceli malliga)
  5. VBA keskkond

Kategooria: