Tartalomjegyzék
Használhatja a beépített Excel munkalap funkciókat, mint például a VLOOKUP funkció , a VÁLASSZON funkciót és a PMT funkció a VBA kódban és az alkalmazásokban is. Valójában a legtöbb Excel a munkalap függvények elérhetők és használhatók a VBA kód . mint például a INDEX & MATCH munkalap funkciók az Excel VBA kódban.
Miért akarja használni a Excel Munkalap funkciók a VBA kód ? Nos, az Ön által használt kód funkcionalitásának bővítésére. Továbbá, nem kell saját függvényeket kitalálnia, hacsak nem muszáj, ha a funkcionalitás már ott van. Alapvetően csak annyit kell tennie, hogy hozzáfér a szükséges függvényhez, mivel az már ott van, és ezután nem kell újra feltalálni a kereket.
Kezdjük tehát egy példával, amely megmutatja, hogyan használjuk a INDEX MATCH az Excel VBA-val.
Fel fogjuk használni a INDEX és MATCH Funkciók a oldalon. Excel VBA kód Az űrlap segítségével a felhasználó kiválasztja a tanuló nevét, majd a tanuló nemét és szemszínét lekérdezi és visszaadja.
Gyakorlati munkafüzet letöltése
Kérjük, töltse le a gyakorlati munkafüzetet, hogy gyakorolhasson.
INDEX-MATCH.xlsx9 egyszerű lépés az INDEX és a MATCH használatához a VBA kódban
A INDEX és MATCH A függvényeket gyakran kombinálva használják a képletekben, hogy fejlett kereséseket hajtsanak végre. A kettő együtt bizonyos előnyöket kínál a következőkkel szemben VLOOKUP .
Már részletesen foglalkoztunk azzal, hogyan kell használni a INDEX és MATCH hogy fejlett kereséseket hajtson végre egy Excel munkafüzet egyenes munkalap-formulaként, egy előző bemutató Most megnézzük, hogyan használhatjuk a INDEX és MATCH Funkciók együttesen a VBA kód , hogy a keresőprogramhoz hasonló funkciókat biztosítson. UserForm fogunk létrehozni.
1. lépés: INDEX és MATCH funkciók alkalmazása az adatállományban
- Makróval rendelkező munkafüzetünkben két lapot kezdünk. Az egyik egy üres lap, a neve UserForm , a másik egy lap, az úgynevezett StudentInformation , amely egy olyan tartományt tartalmaz, amely a következőket mutatja a diákok neve, a hozzájuk tartozó nem és a szemük színe az alábbiak szerint.
Emlékeztessük magunkat gyorsan, ha a INDEX és MATCH Funkciók egy képletben, a tényleges munkalapon, hogy megadja nekünk a nemét a diák nevének, akit meg akarunk keresni. A következő képletet használnánk:
=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))
- A CTRL-ENTER , a Nők értékét kapjuk vissza, mint a nemet, ahogy az alább látható.
2. lépés: A B oszlop nevének módosítása StudentNames-re
- Most elnevezzük a tartományt A2: A31 , StudentNames az alábbiak szerint.
- Rejtse el a StudentInformation lapra jobb egérgombbal kattintva és a Rejtsd el. Jó ötlet, ha felületesen elrejtjük azokat a hátsó munkalapokat, amelyek azokat az információkat tartalmazzák, amelyeket nem szeretnénk, hogy a felhasználó szerkesszen vagy lásson.
3. lépés: Visual Basic ablak megnyitása
- Most, hogy a UserForm lapot aktiváltuk, menjünk a Fejlesztő> Kód> Visual Basic hogy megnyithassa a Visual Basic szerkesztő (VBE) .
- Egyszer a VBE interfész , az Insert, UserForm menüpontra megyünk az alábbiakban látható módon.
4. lépés: Tulajdonságok módosítása és szövegdobozok hozzáadása
- A Tulajdonságok Ablak , átnevezzük az űrlapunkat StudentLookup , változtassa meg a Feliratot Diákinformációk keresése, változtassa meg a BackColor világoskékre, és állítsa a magasságot 300 px és a szélesség 350 px. Ha a Tulajdonságok ablak nem jelenik meg, nyomja meg a F4 billentyűvel a billentyűzeten, hogy láthassa.
- Most beillesztünk egy címkét a Szerszámosláda (ha valamilyen okból nem látja az Eszköztárat, lépjen a Nézet menüpontba, Szerszámosláda ), változtassuk meg a Caption-t Choose a student-re, és változtassuk meg a BackColor A betűtípust ebben az esetben fehérre állítjuk be. Georgia , a betűtípus stílusa bold , a betűméretet 12 , és a center A használt speciális effektus a szöveg igazítása. 1- fmSpecialEffectRaised az alábbiak szerint.
- Most beillesztünk egy kombinált mezőt a címke alá. Nevezzük el ezt a kombinált mezőt cmdStudentName és a RowSource , típus DiákNevek.
- Annak érdekében, hogy lássuk, milyen hatással van a RowSource a kombinált dobozban, Kattintson a címre. a futás Sub/UserForm gomb .
- Most a beállítás miatt a RowSource a megnevezett tartományba, amikor a felhasználó a UserFormon a legördülő nyílra kattint, a kombinált mező automatikusan megjeleníti a diákneveket a megnevezett tartományból, az alábbiakban látható módon.
- Zárja be a UserForm-ot a bezárás gombra kattintva. Nyomja meg a Alt-F11 hogy visszatérhessünk a VBE .
- Miután visszatért a VBE , adjunk hozzá egy másik címkét a UserFormhoz (a kombinációs doboz alatt) és változtassuk meg a Felirat a címre. Gender és megváltoztatjuk a BackColor A betűtípust ebben az esetben fehérre állítjuk be. Georgia , a betűtípus stílusa bold , a betűméretet 12 , és a center A használt speciális effektus a szöveg igazítása. 1- fmSpecialEffectRaised az alábbiak szerint.
- Hozzon létre egy szövegdoboz a Gender címke , és nevezd el txtGender .
- Add egy másik címke, az úgynevezett Szem Színes és egy szövegdoboz névre keresztelt txtEyeColour az alábbiak szerint. Használja a címet. ugyanazokat a tulajdonságokat a címke számára, mint az űrlaphoz korábban hozzáadott két másik címke számára, annak érdekében, hogy a UserForm egységes megjelenésű.
- Most Válassza ki a címet. az összes vezérlőelem, hozzáadva a UserForm , eddig a vezérlőbillentyű használatával.
- Központ vízszintesen, ahogy az alább látható.
Bővebben: Hogyan használjuk az INDEX MATCH képletet az Excelben (9 példa)
Hasonló olvasmányok
- Excel INDEX MATCH Ha a cella szöveget tartalmaz
- Hogyan használjuk az INDEX-MATCH képletet az Excelben több eredmény létrehozásához?
- Index Match Sum több sor összege az Excelben (3 mód)
- Excel VBA programozás és makrók (ingyenes oktatóprogram - lépésről lépésre)
- 22 makró példa az Excel VBA-ban
5. lépés: Gomb hozzáadása az eszköztárból
- Következő, Add gombot az űrlaphoz a Szerszámosláda . Változás a Név a gombra, hogy cmdLookUp , a BackColor világos narancssárgára, tartsa a Tahoma betűtípus és megváltoztatni a stílus bold , végül változtassa meg a Felirat a gombra, hogy Look fel Diák Részletek az alábbiak szerint.
6. lépés: VBA kód beillesztése
- Kattintson a jobb gombbal a címre. , az újonnan hozzáadott gomb, és válassza ki a címet. A megtekintése Kód: .
- Írja be a következő kódot a gomb kattintási eseményéhez:
Dim a As Variant Dim b As Variant Dim c As Variant a = cmdStudentName.Value Sheets("StudentInformation").Activate If a = "" Then b = "" Let txtGender.Text = b c = "" Let txtEyeColour.Text = c Else b = Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("B2:B31"), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31"), 0)) c =Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("C2:C31")), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31")), 0)) Let txtEyeColour.Text = c End If
Azzal kezdjük, hogy kijelentjük három változók és a variáns adattípus hozzárendelését ezekhez a deklarált variáns adattípusokhoz. A variáns adattípus jó adattípus a kezdéshez. Mert amikor a munkalap funkciók ezért nem mindig lehet biztos a kimenetekben, ezért kezdőként használja a variáns adattípust.
A későbbiekben célszerű valamelyik másik, specifikusabb adattípust használni, mint például a integer vagy zsinór. Fejlettebb, hosszabb kódok esetében a variáns adattípus nem használja olyan hatékonyan a memóriát, mint a többi adattípus.
Változó a a felhasználó által a legördülő kombinált dobozban kiválasztott opció értékét rajzolja ki a UserForm Ha nincs kijelölés, akkor az összes többi szövegdobozban a üres .
Ha kiválaszt egy diáknevet a kombinált doboz a UserForm, akkor a b változó értéket vesz fel a INDEX Munkalap Funkció a MATCH Funkció a VBA kódot, ahogy látható.
Az értéket alapvetően ugyanazzal a szintaxissal keresi meg, mint a munkalapfüggvényt. A munkalapfüggvények használatakor a VBA , a VBA IntelliSense ebben a konkrét esetben nem nagyon intuitív , ezért ajánlott a munkalapok ismeretében szerzett szintaxis ismerete. Változó c értéket rajzol a INDEX Munkalap Funkció a MATCH Funkció a VBA kód, amikor a felhasználó kiválaszt egy lehetőséget a kombinált dobozból.
Változó b értéket kap a gender oszlop a munkalapon, míg változó c értéket kap a munkalap Szemszín oszlopából.
A nemek szövegdobozba a következő szöveg kerül b értékét, és a szemszín szövegdobozba a következő érték kerül c értékét.
Bővebben: Excel VBA események (Teljes útmutató)
7. lépés: Parancsgomb beszúrása
- Most lépjen a következő munkalapra UserForm a munkafüzetben. Formátum az alábbiak szerint, és beillesztés a képet a ExcelWIKI .
- Menjen a Fejlesztő> Vezérlők> Beillesztés> ActiveX-vezérlők.
- Beillesztés egy gombot a képen látható módon.
- A gomb kiválasztásával, menj a Fejlesztő> Vezérlők> Tulajdonságok .
- Változás a Név a gombra, hogy cmdShowForm és a Felirat a címre. Keresés Hallgatói információk .
8. lépés: Nézze meg a keresési kódot
- Kattintson a jobb gombbal a címre. a gombot és válassza ki a címet. Kód megtekintése az alábbiak szerint.
- Írja be a következő kódot:
Private Sub cmdShowForm_Click() StudentLookup.Show End Sub
9. lépés: Végeredmény kiállítása
- Visszatérés a munkalap. Győződjön meg róla, hogy a kipipálatlan Tervezés Mód .
- Kattintson a címre. a gombot az űrlap megjelenítéséhez.
- Válassza ki a címet. egy diák neve a kombinációs doboz A kód automatikusan visszaadja a diák nemét és szemszínét.
Ne feledje, hogy mentse a munkafüzetet mint makroképes munkafüzet , ha még nem tette volna meg, és máris megvan, használjuk a INDEX & MATCH munkalap funkciók az Excel VBA kódban egy keresési űrlap létrehozásához.
Bővebben: Excel INDEX-MATCH képlet több érték vízszintesen történő visszaadásához
Következtetés
Az Excel számos hasznos munkalap funkciók , amely felhasználható a VBA , as like as, using INDEX & MATCH munkalap funkciók az Excel VBA kódban. Ezek a funkciók lehetővé teszik, hogy bővítse a VBA kód. Ha már tudja, hogyan működnek a szabványos Excel munkalap, akkor a tanulási görbe nem olyan nagy azáltal, hogy a tudás adaptálása a VBA A munkalap funkcióinak elérése, a saját VBA kód valódi időmegtakarítást jelenthet, mivel nem kell egyedi funkciókat fejleszteni a már meglévő funkciókhoz.
Kérjük, nyugodtan írjon hozzászólást, és mondja el, ha Ön is használ munkalapfüggvényeket a VBA-kódjában és alkalmazásaiban.
Felülvizsgálati szakasz: Tesztelje a megértését
1) Állítson be egy egyszerű listát az A oszlopban három tételből, nevezetesen mandarinból, sárgarépából és narancsból, majd a B oszlopban az egyes tételek melletti cellában sorolja fel, hogy az A oszlopban szereplő tételek gyümölcsök vagy zöldségek, miután befejezte a mintaadatok beállítását, használja a INDEX & MATCH kombinációs funkció, hogy a sárgarépa gyümölcs vagy zöldség.
2) Használja ezt az ESPN-től származó adathalmazt az NFL vezetőedzőiről és az általuk edzett csapatokról. Készítsen egy felhasználói űrlapot, amely lehetővé teszi a felhasználó számára, hogy egy szövegdobozba beírja egy bizonyos edző nevét. Ezután az általa edzett csapatot egy másik szövegdobozba kell beírnia, amikor a felhasználó a submit gombra kattint. INDEX & MATCH munkalap-funkciók kombinációja a VBA-kódban.