Az INDEX MATCH használata az Excel VBA segítségével

  • Ossza Meg Ezt
Hugh West

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.xlsx

9 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.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.