A VLOOKUP használata a VBA-ban (4 mód)

  • Ossza Meg Ezt
Hugh West

Az MS Excel különböző funkciókat kínál bizonyos értékek vagy elemek keresésére vagy megtekintésére. VLOOKUP Segítségével bármilyen adathalmazból megkereshetjük a kívánt adatokat. Lehetővé teszi számunkra, hogy megemlítsük, hogy pontos vagy közelítő egyezést keressünk. Az Excel-képletben való használat mellett a VBA-kódban is használhatjuk ezt a függvényt. Ebben a cikkben megnézzük, hogyan használhatjuk ezt a függvényt. VLOOKUP funkció VBA-ban.

Gyakorlati munkafüzet letöltése

VLOOKUP a VBA.xlsm-ben

A VLOOKUP használatának 4 módja a VBA-ban

1. Adatok keresése manuálisan a VLOOKUP használatával a VBA-ban

Legyen egy munkavállalói adathalmazunk az azonosítójukkal, nevükkel, osztályukkal, belépési dátumukkal és fizetésükkel. Most az a feladatunk, hogy manuálisan keressük meg a munkavállaló adatait az azonosítójuk segítségével. Ebben a szakaszban csak a munkavállaló fizetését fogjuk megkeresni az azonosítójuk segítségével.

1. lépés: Válassza ki a címet. Visual Basic a címen Fejlesztő lap (parancsikon Alt + F11 )

2. lépés: Ekkor megjelenik egy ablak. Válassza ki Modul opciót a Beillesztés gomb

3. lépés: Most írja a következő kódot a VBA-konzolba, és nyomja meg a Fuss gomb (parancsikon F5 )

Kód:

 Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub 

4. lépés: Most egy felugró üzenet fog megjelenni, és megmutatja az információt

Bővebben: VLOOKUP a szöveg kereséséhez Excelben (4 egyszerű módja)

2. Adatok keresése bemenettel a VLOOKUP használatával a VBA-ban

Most nézzük meg, hogyan tudunk adatokat keresni vagy kinyerni táblázatokból vagy tartományokból bemenettel. A képhez hasonlóan a beírt azonosító nevét fogjuk megtudni a munkavállalói információk táblából.

1. lépés: Először nyissa meg a VBA-konzolt az 1. lépés 2. lépését követve.

2. lépés: Most írja be a következő kódot a VBA ablakba

Kód:

 Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub 

3. lépés: Most Adja meg bármelyik azonosítót a cellába D13 és futtassa a kódot

4. lépés: A Név amely az azonosítóhoz van mentve, megjelenik

Bővebben: 10 legjobb gyakorlat a VLOOKUP használatával az Excelben

Hasonló olvasmányok

  • VLOOKUP nem működik (8 ok & megoldások)
  • INDEX MATCH vs VLOOKUP funkció (9 példa)
  • VLOOKUP használata több kritériummal az Excelben (6 módszer + alternatívák)
  • Excel VLOOKUP az oszlop utolsó értékének megkereséséhez (alternatívákkal)
  • Excel VLOOKUP több érték függőlegesen történő visszaadásához

3. Információ keresése beviteli mezővel a VLOOKUP használatával a VBA-ban

Lássuk, hogyan tudunk adatokat keresni a VBA beviteli mezőjének segítségével. A kereséshez használnunk kell a VLOOKUP függvényt a VBA kódban. Az adathalmaz ismét ugyanaz lesz, de a keresési megközelítés más lesz. Itt a feladatunk az, hogy az azonosító és a részleg megadásával kiderítsük a munkavállaló fizetését.

1. lépés: Először nyissa meg a VBA ablakot az 1. lépés és a 2. lépés közötti lépésekkel.

2. lépés: Most írja be a következő kódot a VBA-konzolba, és Fuss it

Kód:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub 

3. lépés: Ez egy kombinált karakterláncot fog kiírni az első oszlopban lévő azonosítóval és osztállyal.

4. lépés: Most ismét menjen a VBA-konzolhoz, és adja meg a teljes kódot, majd futtassa le újra.

Kód:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Add meg a munkavállaló azonosítóját") department = InputBox("Add meg a munkavállaló osztályát") lookup_val = ID & "_" & department OnError GoTo Message check: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("The salary of the employee is $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub 

Kód Magyarázat

  • Először is, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value ezzel a kóddal az azonosító és a részleg értékeit az A oszlopba tároljuk.
  • lookup_val = ID & "_" & osztály ez azt határozza meg, hogy a keresési érték az azonosító és az osztály lesz.
  • salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) itt a megfelelő alkalmazott fizetését egy változóban tároljuk, amelynek neve fizetés
  • If Err. Number = 1004 Then Ez egy feltételellenőrzés. Ellenőrizzük, hogy a hibaszám 1004-e. Az Excel VBA-ban a 1004 kód azt jelenti, hogy a keresett értéket nem találták, törölték vagy eltávolították.

5. lépés: Most egy olyan felugró ablak jelenik meg, mint ez a kép. Enter ID és Részleg szekvenciálisan

6. lépés: Miután megnyomta a Oké gomb megnyomásával a végső kimenet megjelenik

7. lépés: Ha rosszul adja meg a ID vagy Osztály, az alábbi üzenet jelenik meg

Bővebben: Hogyan kell VLOOKUP több feltételekkel az Excelben (2 módszer)

4. Információ keresése gomb segítségével a VLOOKUP használatával a VBA-ban

Most megnézzük, hogyan tudunk információt találni egy gomb segítségével a kód kézi futtatása helyett. Az adathalmaz ismét ugyanaz lesz, mint fentebb.

1. lépés: Először válassza ki a Beillesztés opciót a Fejlesztő lap

2. lépés: Ezután válassza ki a Gomb opciót a Beillesztés

3. lépés: Helyezze el a gombot az Ön igényei szerint, és adja meg a gomb nevét.

4. lépés: Most kattintson a jobb gombbal a gombra, és válassza a Makró hozzárendelése

5. lépés: Most hozzon létre egy új makrót, és nevezze el vlookup_function_4

6. lépés: Írja az alábbi kódot a VBA-konzolba, és Fuss a kód

Kód:

 Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub 

6. lépés: Most adja meg bármelyik azonosítót, és nyomja meg a gombot

Bővebben: A VBA VLOOKUP használata az Excel másik munkalapjának értékeinek kereséséhez

Emlékezetes dolgok

Gyakori hibák Amikor megmutatják
1004 hiba Ha a VBA vlookup kód nem találja a lookup_value-t, akkor 1004-es hibaüzenetet ad.
A VLOOKUP funkció nem található a VBA-ban A Vlookup funkciót az Excel VBA-ban a WorksheetFunction használatával lehet meghívni.
Hibakezelés A vlookup függvény hibája a vlookup függvényben egy gooto utasítás, ha hibát ad vissza.

Következtetés

Ez néhány módja a VLOOKUP függvényt az Excel VBA-ban. Az összes módszert bemutattam a hozzájuk tartozó példákkal, de sok más iteráció is létezhet. A használt függvények alapjait is tárgyaltam. Ha van más módszer, akkor kérjük, ossza meg velünk.

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.