Tartalomjegyzék
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-benA 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.