Kako koristiti INDEX MATCH s Excel VBA

  • Podijeli Ovo
Hugh West

Možete koristiti ugrađene funkcije radnog lista programa Excel kao što su VLOOKUP funkcija , CHOOSE funkcija i PMT funkcija u vašem VBA kodu i aplikacijama također. Zapravo, većini Excel funkcija radnog lista može se pristupiti i koristiti u VBA kodu . Poput upotrebe INDEX & MATCH Funkcije radnog lista u Excel VBA kodu.

Zašto biste htjeli koristiti funkcije Excel Radnog lista u svom VBA šifra ? Pa da proširite funkcionalnost koda koji koristite. Također, ne morate smisliti vlastite funkcije, osim ako to stvarno ne morate, ako funkcionalnost već postoji. Sve što u osnovi trebate učiniti jest pristupiti funkciji koja vam je potrebna budući da je već tu i nema potrebe ponovno izmišljati kotač.

Dakle, počnimo s primjerom koji pokazuje kako koristiti INDEX  MATCH s Excel VBA.

Koristit ćemo INDEX i MATCH funkcije u Excel VBA kod , kako biste stvorili jednostavan korisnički obrazac. Koristeći obrazac, korisnik odabire ime učenika, a zatim se dohvaća i vraća odgovarajući spol navedenog učenika i boja očiju.

Preuzmi radnu bilježnicu za vježbe

Preuzmi radnu bilježnicu za vježbe na vježbajte sami.

INDEX-MATCH.xlsx

9 jednostavnih koraka za korištenje INDEX i MATCH unutar VBA koda

INDEX i MATCH Funkcije se često koriste u kombinaciji u formulama, kako bi se izvršila napredna pretraživanja. Njih dvoje u kombinaciji nude određene prednosti u odnosu na VLOOKUP .

Već smo detaljno obradili kako koristiti INDEX i MATCH za izvođenje naprednih pretraživanja u Excel radnoj knjizi kao ravna formula radnog lista, u prethodnom vodiču . Sada ćemo vidjeti kako koristiti INDEX i MATCH funkcije zajedno u VBA kodu , kako bismo dodijelili sličnu funkcionalnost potražite Korisnički obrazac koji ćemo stvoriti.

Korak 1: Primijenite funkcije INDEX i MATCH u skupu podataka

  • Počinjemo s dva lista u našoj makronaredbi -omogućena radna knjiga. Jedan je prazan list pod nazivom Korisnički obrazac , drugi je list pod nazivom Informacije o učeniku , koji sadrži raspon koji prikazuje imena učenika, njihov odgovarajući spol i boju očiju kao prikazano u nastavku.

Podsjetimo se brzo želimo li koristiti INDEX i MATCH Funkcije u jednoj formuli, u stvarnom radnom listu da nam daju spol imena učenika kojeg želimo potražiti. Koristili bismo sljedeću formulu:

=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))

  • Nakon pritiska CTRL-ENTER , dobivamo vraćenu vrijednost Females, kao spol kao što je prikazano u nastavku.

Korak 2: Promijenite naziv stupca B u StudentNames

  • Sada ćemo nazvati raspon A2: A31 , StudentNames kao što je prikazano u nastavku.

  • Sakrij list Student Information desnim klikom i odabirom Sakrij. Bilo bi dobro površno sakriti pozadinske radne listove koji sadrže informacije ne želite da korisnik uređuje ili vidi.

Korak 3: Otvorite Visual Basic prozor

  • Sada s aktiviranim listom UserForm, idemo na Programer > Kod > Visual Basic kako bismo otvorili Visual Basic Editor (VBE) .
  • Jednom u VBE sučelju idemo na Insert, UserForm kao što je prikazano ispod .

Korak 4: Promijenite svojstva i dodajte tekstualne okvire

  • Upotrebom prozora Svojstva , preimenovat ćemo naš obrazac u StudentLookup , promijeniti Caption u Lookup Student Information, promijeniti BackColor u svijetloplavu i postaviti visinu na 300 px i širina na 350 px. Ako se prozor svojstava ne prikazuje, pritisnite tipku F4 na tipkovnici da biste ga vidjeli.

  • Mi sada će umetnuti oznaku koristeći Kutiju s alatima (ako ne možete vidjeti Kutiju s alatima, iz nekog razloga idite na Pogled, Kutiju s alatima ), promijenite naslov u Odaberi učenika, a mi ćemo promijeniti BackColor u bijelu u ovom slučaju. Postavit ćemo font na Georgia , stil fonta na bold , veličinu fonta na 12 i središte poravnajte tekst. Specijalni efekt koji se koristi bit će 1– fmSpecialEffectRaised kao što je prikazano u nastavku.

  • Sada ćemo umetnuti kombinirani okvir ispod označiti. Imenujte ovaj kombinirani okvir cmdStudentName i za RowSource upišite StudentNames.

  • Kako biste vidjeli učinak postavljanja Izvora retka kombiniranog okvira, Kliknite gumb Pokreni Pod/korisnički obrazac .
  • Sada zbog postavljanja RowSource u imenovani raspon, kada korisnik klikne na padajuću strelicu na korisničkom obrascu, kombinirani okvir prikazuje imena učenika iz imenovanog raspona, automatski kao što je prikazano u nastavku.

  • Zatvorite korisnički obrazac klikom na gumb za zatvaranje. Pritisnite Alt-F11 kako biste se vratili na VBE .
  • Kada se vratite u VBE , dodajte drugu oznaku korisničkom obrascu ( ispod kombiniranog okvira) i promijenite Caption u Gender i promijenit ćemo BackColor u bijelu u ovom slučaju. Postavit ćemo font na Georgia , stil fonta na podebljano , veličinu fonta na 12 , a centar poravnati tekst . Specijalni efekt koji se koristi bit će 1– fmSpecialEffectRaised kao što je prikazano u nastavku.

  • Stvori tekstualni okvir ispod oznake Spol i nazovite je txtGender .
  • Dodajte drugu oznaku pod nazivom Oko Boja i tekstni okvir s nazivom txtEyeColour kao što je prikazano u nastavku. Koristite ista svojstva za oznaku kao i za dvije druge oznake prethodno dodane obrascu, kako biste osigurali da Korisnički obrazac ima dosljedan izgled.

  • Sada Odaberite sve kontrole, dodane u Korisnički obrazac , do sada koristeći kontrolnu tipku.

  • Centrirajte vodoravno, kao što je prikazano ispod.

Pročitajte Više: Kako koristiti formulu INDEX MATCH u Excelu (9 primjera)

Slična čitanja

  • Excel INDEX MATCH Ako ćelija sadrži tekst
  • Kako koristiti formulu INDEX-MATCH u Excelu za generiranje više rezultata
  • Index Match Zbroj više redaka u Excelu (3 načina)
  • Naučite Excel VBA programiranje & Makronaredbe (besplatan vodič – korak po korak)
  • 22 primjera makronaredbi u programu Excel VBA

Korak 5: Dodajte gumb iz Toolboxa

  • Dalje, dodajte gumb obrascu pomoću Kutije s alatima . Promijenite Naziv gumba u cmdLookUp , Boju pozadine u svijetlonarančastu, zadržite Tahoma font i promijenite stil u podebljano , konačno promijenite Natpis gumba u Pogledaj gore Student Detalji kao što je prikazano u nastavku.

Korak 6: Umetnite VBA kod

  • Kliknite desnom tipkom miša , novododani gumb i odaberi Prikaz Kôd .

  • Unesite sljedeći kod za gumb click event:

3707

Započinjemo deklariranjem tri varijabli i dodjeljivanjem tipa podataka varijante tim deklariranim varijantni tipovi podataka. Vrsta podataka varijante dobra je vrsta podataka za početak. Jer kada radite s radnim listom funkcijama , možda nećete uvijek biti sigurni u rezultate. Stoga koristite varijantni tip podataka kada počinjete.

Kasnije je preporučljivo koristiti neki od drugih specifičnijih tipova podataka kao što je cijeli broj ili niz. Za napredniji duži kod, vrsta podataka varijante ne koristi memoriju tako učinkovito kao druge vrste podataka.

Varijabla a izvlači vrijednost iz opcije koju korisnik odabere u padajući kombinirani okvir na Korisničkom obrascu . Ako nema odabira, tada su svi ostali tekstualni okviri prazni .

Ako odaberete ime učenika iz kombo okvira na Korisnički obrazac, zatim varijabla b crta vrijednost pomoću funkcije INDEX Worksheet u kombinaciji s MATCH funkcijom u VBA kod, kao što je prikazano.

Traži vrijednost koristeći u osnovi istu sintaksu kao funkcija radnog lista. Kada koristite funkcije radnog lista u VBA , VBA IntelliSense u ovom konkretnom slučaju nije baš intuitivan , stoga poznavanjepreporučuje se sintaksa prikupljena iz znanja iz radnog lista. Varijabla c crta vrijednost pomoću INDEX radnog lista funkcije u kombinaciji s MATCH funkcije u kodu VBA kada korisnik odabere opciju iz kombiniranog okvira.

Varijabla b postiže vrijednost iz spola stupac na radnom listu, dok varijabla c dobiva vrijednost iz stupca Boja očiju na radnom listu.

Spolni tekstni okvir popunjen je s b vrijednost, a tekstni okvir boje očiju popunjen je vrijednošću c .

Pročitajte više: Excel VBA događaji (potpuna smjernica)

Korak 7: Umetnite naredbeni gumb

  • Sada idite na radni list pod nazivom Korisnički obrazac u vašoj radnoj knjizi. Formatirajte ga, kao što je prikazano ispod, i umetnite sliku koju pruža ExcelWIKI .

  • Idite na Developer > Kontrole > Umetni > ActiveX kontrole.

  • Umetnite gumb kao što je prikazano.

  • S odabranim gumbom idite na Razvojni programer > Kontrole > Svojstva .

  • Promijenite Naziv gumba u cmdShowForm i Natpis za Traženje Informacije o učeniku .

Korak 8: Pregledajte Kod za traženje

  • Desnom tipkom miša kliknite gumb i odaberite Prikaz koda kao što je prikazanoispod.

  • Unesite sljedeći kod:
2246

Korak 9: Pokažite konačni rezultat

  • Vratite se na radni list. Provjerite je li označen Design Mode .
  • Kliknite gumb kako biste prikazali obrazac.

  • Odaberi ime učenika pomoću kombo okvira . Kod će automatski vratiti učenikov spol i boju očiju.

Ne zaboravite spremiti svoju radnu knjigu kao radnu knjigu s omogućenim makronaredbama , ako to već niste učinili i evo ga, mi koristimo INDEX & MATCH Funkcije radnog lista u Excel VBA kodu kako biste stvorili obrazac za traženje.

Pročitajte više: Excel INDEX-MATCH formula za vodoravno vraćanje više vrijednosti

Zaključak

Excel ima mnoge korisne funkcije radnog lista , koje se mogu koristiti u VBA , kao što je, koristeći INDEX & MATCH Funkcije radnog lista u Excel VBA kodu. Ove funkcije će vam omogućiti da proširite svoj VBA kod. Ako već znate kako rade u standardnom Excelu radni list, onda krivulja učenja nije tako dobra prilagodbom znanja za VBA . Pristup funkcijama radnog lista u nečijem VBA kodu može biti prava ušteda vremena. Jer ne morate razvijati prilagođene funkcije za funkcionalnost koja već postoji.

Slobodno komentirajte i reciteako koristite funkcije radnog lista u svom VBA kodu i aplikacijama.

Pregled odjeljka: Testirajte svoje razumijevanje

1) Postavite jednostavan popis u stupcu A od tri stavke, naime mandarine, mrkve i naranče , zatim u ćeliji pored svake stavke u stupcu B navedite jesu li stavke u stupcu A voće ili povrće, nakon što završite s postavljanjem podataka uzorka, upotrijebite INDEX & MATCH kombinirana funkcija za isporuku jesu li mrkve voće ili povrće.

2) Koristite ovaj skup podataka s ESPN-a o glavnim trenerima NFL-a i timovima koje oni treniraju. Napravite korisnički obrazac koji korisniku omogućuje unos imena određenog trenera u tekstni okvir. Zatim neka se tim koji on trenira isporuči u drugom tekstualnom okviru kada korisnik klikne Pošalji. Koristite INDEX & MATCH kombinacija funkcije radnog lista unutar vašeg VBA koda.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.