Sadržaj
Možete koristiti ugrađene funkcije Excel radnog lista, kao što su funkcija VLOOKUP , CHOOSE funkcija i PMT funkcija u vašem VBA kodu i aplikacijama takođe. U stvari, većini funkcija Excel radnog lista može se pristupiti i koristiti u VBA kodu . Sviđa mi se korištenje INDEX & MATCH Worksheet Funkcije u Excel VBA kodu.
Zašto biste željeli koristiti Excel Worksheet funkcije u svom VBA kod ? Pa da proširite funkcionalnost koda koji koristite. Također, ne morate smišljati svoje vlastite funkcije, osim ako zaista morate, ako je funkcionalnost već tu. Sve što u osnovi trebate učiniti je pristupiti funkciji koja vam je potrebna jer je već tu i onda nema potrebe da izmišljate točak.
Dakle, počnimo s primjerom koji pokazuje kako koristiti INDEX MATCH sa Excel VBA.
Koristit ćemo INDEX i MATCH Funkcije u Excel VBA code , kako bi se kreirao jednostavan korisnički obrazac. Koristeći obrazac, korisnik odabire ime učenika, a zatim se preuzima i vraća odgovarajući spol navedenog učenika i boja očiju.
Preuzmite Vježnicu
Molimo preuzmite radnu svesku za vježbu na vježbajte sami.
INDEX-MATCH.xlsx
9 jednostavnih koraka za korištenje INDEX-a i MATCH unutar VBA koda
The INDEX i MACH Funkcije se često koriste u kombinaciji u formulama, kako bi se izvršila napredna pretraživanja. Ova dva u kombinaciji nude određene prednosti u odnosu na VLOOKUP .
Već smo detaljno pokrili kako koristiti INDEX i MATCH za izvođenje naprednih traži u Excel radnoj svesci kao formulu ravnog radnog lista, u prethodnom vodiču . Sada ćemo vidjeti kako zajedno koristiti funkcije INDEX i MATCH u VBA kodu , kako bismo dodijelili sličnu funkcionalnost look up UserForm koji ćemo kreirati.
Korak 1: Primijenite funkcije INDEX i MATCH u skup podataka
- Počinjemo s dva lista u našem makrou -omogućena radna sveska. Jedan je prazan list pod nazivom UserForm , 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 ispod.
Prisjetimo se brzo ako želimo koristiti INDEKS i MACH Funkcioniše u jednoj formuli, u stvarnom radnom listu da nam daju pol imena učenika kojeg želimo da potražimo. Koristili bismo sljedeću formulu:
=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))
- Pritiskom na CTRL-ENTER , dobijamo vraćenu vrijednost Žene, kao spol kao što je prikazano ispod.
Korak 2: Promijenite naziv B kolone u Imena učenika
- Sada ćemo imenovati raspon A2: A31 , Imena učenika kao što je prikazano ispod.
- Sakrij list Informacije o učenicima desnim klikom i odabirom Sakrij. Dobra je ideja površno sakriti pozadinske radne listove koji sadrže informacije koje ne želite da korisnik uređuje ili vidi.
Korak 3: Otvori prozor Visual Basic
- Sada sa aktiviranim listom UserForm, idemo na Programer > Kod > Visual Basic da biste otvorili Visual Basic Editor (VBE) .
- Jednom u VBE interfejsu , idemo na Insert, UserForm kao što je prikazano ispod .
Korak 4: Promijenite svojstva i dodajte okvire za tekst
- Upotreba prozora Svojstva , preimenovati ćemo naš obrazac u StudentLookup , promijeniti natpis u Lookup Student Information, promijeniti BackColor u svijetloplavu i postaviti visinu na 300 px i širinu na 350 px. Ako se prozor sa svojstvima ne pojavi, pritisnite tipku F4 na vašoj tastaturi da biste ga vidjeli.
- Mi sada će umetnuti oznaku koristeći Toolbox (ako ne možete vidjeti Toolbox, iz nekog razloga idite na Pogled, Toolbox ), promijenite Naslov u Odaberi učenika i mi ćemo promijeniti BackColor u ovom slučaju u bijelo. Postavit ćemo font na Georgia , stil fonta na bold , veličinu fonta na 12 i centar poravnajte tekst. Specijalni efekat koji se koristi biće 1– fmSpecialEffectRaised kao što je prikazano ispod.
- Sada ćemo umetnuti kombinovani okvir ispod etiketa. Imenujte ovaj kombinirani okvir cmdStudentName i za RowSource upišite Imena učenika.
- Da biste vidjeli efekat postavljanja RowSource kombinovanog okvira, Kliknite dugme Pokreni Sub/UserForm .
- Sada zbog postavljanja RowSource do imenovanog raspona, kada korisnik klikne na padajuću strelicu na korisničkom obrascu, kombinirani okvir prikazuje imena učenika iz imenovanog raspona, kao što je prikazano ispod.
- Zatvorite korisnički obrazac klikom na dugme za zatvaranje. Pritisnite Alt-F11 da biste se vratili na VBE .
- Kada se vratite u VBE , dodajte drugu oznaku u korisnički obrazac ( ispod kombinovanog okvira) i promijenite Naslov u Spol i promijenit ćemo BackColor u bijelo u ovom slučaju. Postavit ćemo font na Georgia , stil fonta na bold , veličinu fonta na 12 , a centar poravnati tekst . Specijalni efekat koji se koristi bit će 1– fmSpecialEffectRaised kao što je prikazano ispod.
- Kreirajte okvir za tekst ispod oznake Spol oznake i nazovite je txtGender .
- Dodajte drugu oznaku pod nazivom Eye Boja i tekstualni okvir pod nazivom txtEyeColour kao što je prikazano ispod. Koristite ista svojstva za oznaku kao i za dvije druge oznake koje su prethodno dodane u obrazac, kako biste osigurali da UserForm ima dosljedan izgled.
- Sada Izaberite sve kontrole, dodane u UserForm , do sada koristeći kontrolni ključ.
- Centriraj horizontalno, kao što je prikazano ispod.
Pročitaj Više: Kako koristiti formulu INDEX MATCH u Excelu (9 primjera)
Slična očitanja
- Excel INDEX MATCH Ako ćelija sadrži tekst
- Kako koristiti INDEX-MATCH formulu u Excelu za generiranje višestrukih rezultata
- Index Match Sum više redova u Excelu (3 načina)
- Naučite Excel VBA programiranje & Makroi (besplatni vodič – korak po korak)
- 22 primjera makroa u Excel VBA
Korak 5: Dodajte dugme iz alatne kutije
- Sljedeće, Dodajte dugme u obrazac koristeći Toolbox . Promijenite Naziv gumba u cmdLookUp , BackColor u svijetlo narančastu, zadržite font Tahoma i promijenite stil u podebljano , konačno promijenite Naslov gumba u Pogledaj gore Učenik Detalji kao što je prikazano ispod.
Korak 6: Umetnite VBA kod
- Desni klik , novo dodato dugme i odaberite Prikaži Kôd .
- Unesite sljedeći kod za dugme klik događaj:
6186
Počinjemo s deklariranjem tri varijable i dodjeljivanjem varijantnog tipa podataka ovim deklariranim varijantne tipove podataka. Varijantni tip podataka je dobar tip podataka za početak. Jer kada radite sa radnim listom funkcijama , možda nećete uvijek biti sigurni u izlaze. Stoga koristite varijantni tip podataka kada počinjete.
Kasnije je preporučljivo koristiti jedan od drugih specifičnijih tipova podataka kao što je integer ili string. Za napredniji duži kod, varijantni tip podataka ne koristi memoriju tako efikasno kao drugi tipovi podataka.
Varijabla a crta vrijednost iz opcije koju korisnik odabere u padajući kombinirani okvir na UserForm . Ako nema odabira, onda su svi ostali tekstni okviri prazni .
Ako odaberete ime učenika iz kombo kutije na UserForm, zatim varijabla b crta vrijednost korištenjem funkcije INDEX Worksheet u kombinaciji sa MATCH Function u VBA kod, kao što je prikazano.
Traži vrijednost koristeći u osnovi istu sintaksu kao i funkcija radnog lista. Kada koristite funkcije radnog lista u VBA , VBA IntelliSense u ovom konkretnom slučaju nije baš intuitivan , stoga je poznavanjepreporučuje se sintaksa sakupljena iz znanja radnog lista. Varijabla c crta vrijednost koristeći INDEX Radni list Funkcija u kombinaciji sa MATCH Funkcija u kodu VBA kada korisnik odabere opciju iz kombiniranog okvira.
Varijabla b postiže vrijednost iz pol kolona na radnom listu, dok varijabla c dobija vrijednost iz kolone Boja očiju na radnom listu.
Tekstni okvir za spol je popunjen sa b 's vrijednost i tekstualni okvir za boju očiju je popunjen vrijednošću c .
Pročitajte više: Excel VBA događaji (kompletna smjernica)
Korak 7: Umetnite komandno dugme
- Sada idite na radni list pod nazivom UserForm u vašoj radnoj svesci. Formatirajte , kao što je prikazano ispod, i umetnite sliku koju obezbeđuje ExcelWIKI .
- Idi na Programer > Kontrole > Umetni > ActiveX kontrole.
- Ubaci dugme kao što je prikazano.
- Sa odabranim gumbom, idite na Programer > Kontrole > Svojstva .
- Promijenite Naziv gumba u cmdShowForm i Naslov do Potraži Informacije o učeniku .
Korak 8: Pogledaj Potražite kod
- Kliknite desnom tipkom na dugme i odaberite Prikaži kod kao što je prikazanoispod.
- Unesite sljedeći kod:
3463
Korak 9: Prikažite konačni rezultat
- Vratite se na radni list. Uvjerite se da nije označeno Design Mode .
- Kliknite na dugme da biste prikazali obrazac.
- Odaberi ime učenika koristeći kombinovani okvir . Kôd će automatski vratiti učenikov spol i boju očiju.
Ne zaboravite sačuvati svoju radnu svesku kao radnu svesku s omogućenim makroima , ako to već niste učinili i eto ga, koristimo INDEX & MATCH Worksheet Funkcije u Excel VBA kodu kako bi se kreirao obrazac za pretraživanje.
Pročitajte više: Excel INDEX-MATCH formula za vraćanje više vrijednosti horizontalno
Zaključak
Excel ima mnogo korisnih funkcija radnog lista , koje se mogu koristiti u VBA , kao, koristeći INDEX & MATCH Worksheet Funkcije 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 sjajna prilagođavanjem znanja za VBA . Pristup funkcijama radnog lista u nečijem VBA kodu može biti stvarna ušteda vremena. Zato što se ne moraju razvijati prilagođene funkcije za funkcionalnost koja već postoji.
Molim vas slobodno komentirajte i recitenas ako koristite funkcije radnog lista u svom VBA kodu i aplikacijama.
Odjeljak za pregled: Testirajte svoje razumijevanje
1) Postavite jednostavnu listu u koloni A od tri stavke, naime mandarine, šargarepe i narandže , zatim u ćeliji pored svake stavke u koloni B navedite da li su stavke u koloni A voće ili povrće, nakon što završite postavljanje podataka uzorka, koristite INDEX & Kombinovana funkcija MATCH za isporuku da li je šargarepa voće ili povrće.
2) Koristite ovaj skup podataka od ESPN-a za glavne trenere NFL-a i odgovarajući tim koji treniraju. Kreirajte korisnički obrazac koji omogućava korisniku da unese ime određenog trenera u okvir za tekst. Zatim neka se tim koji trenira isporuči u drugom tekstualnom okviru kada korisnik klikne na Pošalji. Koristite INDEX & MATCH kombinacija funkcija radnog lista unutar vašeg VBA koda.